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

برنامج المدرسة القرآنية(تحديد نسبة الحفظ)


إذهب إلى أفضل إجابة Solved by ياسر خليل أبو البراء,

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

السلام عليكم

لننتقل الان الى العمود J ونحدد نسبة حفظ الطالب بدلالة الاعمدة (M L) (O N) وبالاعتماد على صفحة المنهج وبالضبط الالعمدة من A الىD

بحيث  ان نسبة الحفظ هي عدد الاسطر التي حفظها الطالب خلال الشهر

والطالب مطالب بحفظ 10 اسطر كل شهر اي ان كل سطر يحتسب 10%

مثل1: الطالب زاوي وليد بن إبراهيم بدا الحفظ من المجادلة 1 الى الحديد20

لو ذهبنا الى الجدول لوجدنا ان المجادلة 1 رقمها 221

والحديد 20 رقمها 239

اذا 239-221=18

اي ان نسبة الحفظ 180%

مثال2:الطالب رضواني عبد القدوس بن الطاهربدا الحفظ من الملك8 الى الواقعة 16

لو ذهبنا الى الجدول لوجدنا ان الملك8 رقمها 165

و الواقعة 16رقمها 246

اذا 246-165=81

اي ان نسبة الحفظ 810%

وهكذا

والآيات مهمة فيجلب على الكود الاخذ في اللحسبان السورة والآية معا

Quran School V4.rar

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

جرب الملف المرفق ..قمت بإعادة تنسيق العمود لتظهر النسبة بشكل عادي

Sub CopyDataFromRecordInf()
    Dim WS As Worksheet, SH As Worksheet
    Dim LR As Long, LRCur As Long, I As Long
    Dim rngA As Range, rngB As Range, rngC As Range, rngD As Range
    Dim X, Y
    
    Set WS = Sheets("معلومات التسجيل"): Set SH = Sheets("التقرير الشهري")
    LR = WS.Cells(Rows.Count, 1).End(xlUp).Row
    With Sheets("المنهج")
        LRCur = .Cells(Rows.Count, 1).End(xlUp).Row
        Set rngA = .Range("A2:A" & LRCur): Set rngB = .Range("B2:B" & LRCur)
        Set rngC = .Range("C2:C" & LRCur): Set rngD = .Range("D2:D" & LRCur)
    End With
    
    Application.ScreenUpdating = False
        With SH
            SH.Range("A2:E1000,I2:I1000").ClearContents
            For I = 2 To LR
                .Cells(I, 1) = WS.Cells(I, 1)
                .Cells(I, 2) = WS.Cells(I, 2)
                .Cells(I, 3) = WS.Cells(I, 3)
                
                .Cells(I, 4).Formula = "=IF(" & .Cells(I, 12).Address & "="""","""",LOOKUP(INDEX(QNumbers,MATCH(" & .Cells(I, 12).Address & ",QNames,0)),الحلقات!$F$2:$F$6,الحلقات!$B$2:$B$6))"
                .Cells(I, 4).Value = .Cells(I, 4).Value
                
                If .Cells(I, 16) > 5 Then
                    .Cells(I, 5) = 0
                Else
                    .Cells(I, 5) = 5 - .Cells(I, 16)
                End If
                
                If .Cells(I, 8) > 5 Then
                    .Cells(I, 9) = 0
                Else
                    .Cells(I, 9) = 15 - (3 * .Cells(I, 8))
                End If
                
                X = ValueLookUp(rngB, .Cells(I, 12).Value, rngC, rngD, .Cells(I, 13).Value, rngA)
                Y = ValueLookUp(rngB, .Cells(I, 14).Value, rngC, rngD, .Cells(I, 15).Value, rngA)
                .Cells(I, 10).Value = (Y - X) * 10
            Next I
            .Range("A1").Select
        End With
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub

Public Function ValueLookUp(ByVal NameRange As Range, sName As String, _
                            FromRange As Range, ToRange As Range, _
                            MonthValue As Integer, _
                            ResultRange As Range) As Long
'=ValueLookUp($B$2:$B$20,H6,$C$2:$C$20,$D$2:$D$20,I6,$A$2:$A$20)
'---------------------------------------------------------------
    Dim Cell As Range
    Dim I As Long, iIndex As Long, J As Long
    Dim ColIndex As Collection: Set ColIndex = New Collection

    I = 1
    iIndex = 1

    For Each Cell In NameRange
        If Cell.Value = sName Then
            ColIndex.Add I, CStr(iIndex)

            iIndex = iIndex + 1
        End If
        I = I + 1
    Next Cell

    For J = 1 To ColIndex.Count
        If MonthValue >= FromRange.Item(ColIndex.Item(J), 1) And ToRange.Item(ColIndex.Item(J), 1) >= MonthValue Then
            ValueLookUp = ResultRange.Item(ColIndex.Item(J), 1)
            Exit Function
        End If
    Next J

End Function

تقبل تحياتي

Quran School V5.rar

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

السلام عليكم

ماشاء الله عليك استاذ ياسر كل شيئ تمام اسال الله ان يبارك لك في علمك

لننتقل للنقة التي بعدها

الا وهي العمودK درجة الحفظ وهي عن 10 درجات

وهي تعتمد على  نسبة الحفظ (اي العمود J)

فكل 10% بدرجة

فمثلا لو كانت نسبة الحفظ 10% ياخذ درجة

ولو كانت نسبة الحفظ 30% ياخذ 3درجات

ولو كانت نسبة الحفظ 90% ياخذ 9 درجات

ولو كانت نسبة الحفظ 100% فما اكثر ياخذ 10

Quran School V5.rar

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

  • أفضل إجابة

أخي الكريم أبو عبد الملك

إليك الملف التالي ..

يكفي لهذا الموضوع هاتين النقطتين ..لا تنسى أن تحدد أفضل إجابة ليظهر الموضوع مجاب ومنتهي

 

غداً إن شاء الله نلتقي ..يا ريت تتابع معي حجم الملف 102 كيلو بايت فقط ...

ويا ريت أعرف كم نسبة الإنجاز في البرنامج إلى الآن ..كم حققت من نسبة إنجاز ؟ طممن قلبي (لسه باقي كتير !!!) :eek2:

Quran School V5.rar

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

السلام عليكم

بورك فيك استاذ ياسر

نسبة الانجاز تقريبا 40%

مازالت صفحة مهمة جدا جدا ومعقدة قليلا

فانا الان بامكاني اخذ الكود الذي تنجزه في هاته الصفحة تطبيقه على صفحات اخرى

شكرا ابا البراء لننتقل الى موضوع آخر

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

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