اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

مطلوب تعديل في كود لتوزيع درجة المتوسط


الردود الموصى بها

بسم الله الرحمن الرحيم

كود الملف المرفق من وضع الأستاذ الكبير الشهابي جزاه الله خير الجزاء والملف عبارة عن كود لتوزيع درجة المتوسط على الثلاثة شهور المطلوبة بحيث اذا قمنا بكتابة رقم مثل 35 في الخلية p9   ووضعنا درجة الامتحان في الخلية o9  وضغطنا توزيع المتوسط فان الكود يقوم بتوزيع درجات الكود بشكل معين على الثلاثة شهور وقد أتم الأستاذ الشهابي ما كان مطلوبا في الملف على أكمل وجه والمطلوب الآن هو تعديل هذا الكود ليتلائم مع تعليمات جديدة من الوزارة تتعلق بدرجة الحضور والسلوك حيث نصت التعليمات على أن التلاميذ يأخذ الدرجة فيها كاملة حتى ولو غاب أياما قليلة فأتمنى تثبيت درجة الحضور والسلوك والتي يمثلها الأعمدة d10   و h10  و l10من 10 درجات كاملة مهما كانت درجة المتوسط الموضوعة   

توزيع المتوسط.rar

رابط هذا التعليق
شارك

السلام عليكم أخي الكريم سيد

جرب الكود التالي عله يفي بالغرض إن شاء الله

Sub FillRandom()
    Dim lngSum As Long
    Dim i As Long
    Dim arrValues(1 To 13) As Double
    
    For i = 9 To Cells(Rows.Count, "B").End(xlUp).Row
        If Cells(i, "P").Value <> "" Then
            lngSum = Range("P" & i).Value
            Do
                arrValues(1) = Application.RandBetween(1, 10)
                arrValues(2) = 10
                arrValues(3) = Application.RandBetween(1, 20)
                arrValues(4) = Application.Sum(arrValues(1), arrValues(2), arrValues(3))
                
                arrValues(5) = Application.RandBetween(1, 10)
                arrValues(6) = 10
                arrValues(7) = Application.RandBetween(1, 20)
                arrValues(8) = Application.Sum(arrValues(5), arrValues(6), arrValues(7))
                
                arrValues(9) = Application.RandBetween(1, 10)
                arrValues(10) = 10
                arrValues(11) = Application.RandBetween(1, 20)
                arrValues(12) = Application.Sum(arrValues(9), arrValues(10), arrValues(11))
            Loop Until Application.Average(arrValues(4), arrValues(8), arrValues(12)) = lngSum
            arrValues(13) = Application.Sum(arrValues(4), arrValues(8), arrValues(12))
            
            Range("C" & i).Resize(1, 13).Value = arrValues
            Range("R" & i).Value = Application.Sum(Range("P" & i).Value, Range("Q" & i).Value)
        End If
    Next i
End Sub

 

رابط هذا التعليق
شارك

6 hours ago, ياسر خليل أبو البراء said:

السلام عليكم أخي الكريم سيد

جرب الكود التالي عله يفي بالغرض إن شاء الله


Sub FillRandom()
    Dim lngSum As Long
    Dim i As Long
    Dim arrValues(1 To 13) As Double
    
    For i = 9 To Cells(Rows.Count, "B").End(xlUp).Row
        If Cells(i, "P").Value <> "" Then
            lngSum = Range("P" & i).Value
            Do
                arrValues(1) = Application.RandBetween(1, 10)
                arrValues(2) = 10
                arrValues(3) = Application.RandBetween(1, 20)
                arrValues(4) = Application.Sum(arrValues(1), arrValues(2), arrValues(3))
                
                arrValues(5) = Application.RandBetween(1, 10)
                arrValues(6) = 10
                arrValues(7) = Application.RandBetween(1, 20)
                arrValues(8) = Application.Sum(arrValues(5), arrValues(6), arrValues(7))
                
                arrValues(9) = Application.RandBetween(1, 10)
                arrValues(10) = 10
                arrValues(11) = Application.RandBetween(1, 20)
                arrValues(12) = Application.Sum(arrValues(9), arrValues(10), arrValues(11))
            Loop Until Application.Average(arrValues(4), arrValues(8), arrValues(12)) = lngSum
            arrValues(13) = Application.Sum(arrValues(4), arrValues(8), arrValues(12))
            
            Range("C" & i).Resize(1, 13).Value = arrValues
            Range("R" & i).Value = Application.Sum(Range("P" & i).Value, Range("Q" & i).Value)
        End If
    Next i
End Sub

 

أستاذنا الفاضل لا أعرف لماذا لم يعمل الكود فقد استبدلت الكود الموجود بالكود الذي كتبته حضرتك ولم يعمل

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information