اذهب الي المحتوي
أوفيسنا

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

قام بنشر

السلام عليكم

كيف حالكم اساتذتنا الكرام

استاذ ياسر كيف حالك

اعتذر عن الانقطاع لضروف خاصة

ارجوا ان تكمل معي تصميم البرنامج ان كان وقتك يسمح بورك فيك وفي علمك

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

النقطة الاولى:

يستقدم الكود اسم الطالب  رقم1   ورقم قيده من  صفحة معلومات التسجيل بشرط ان لا يكون الطالب منقطع (نعرف ان الطالب منقطع اذا كان مكتوب تاريخ في العمود n) فان كان منقطع يتجاهله وينتقل الى الطالب رقم  وهكذا

أما الخليةr4   s4 فيجلبها من صفحة مجمع النتائج الشهرية من اخر سطر ذكر فيه اسم الطالب

مثلا الطالب رقم 1 زاوي وليد

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

يذهب الكود لصفحة مجمع النتائج الشهرية ويبحث عن آخر سطر ذكر فيه الطالب وهو السطر 21 ثم يذهب الى العمودr فان الكان مجموع الدرجات اكبر من 60 ياخذ الكود n21  o21  و اذا كان المجموع اقل من 60 فياخذ الكود l21   m21

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

 

 

Quran School V11.2.rar

قام بنشر

أخي الكريم اتفقنا أن لا يوجه الموضوع لشخص بعينه ..

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

فهناك بحق من هم أفضل مني على الإطلاق

  • Like 1
قام بنشر

السلام عليكم

أعتذر عن مخالفة القواعد أنا اعرف القواعد جيدا لكن الانسان خطّاء

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

بوركت وبورك علمك استاذ

ارجوا ان يساعدني احد الاساتذة الكرام

قام بنشر (معدل)

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

أخبرتك أنه إذا تيسر لي الأمر سأحاول المساعدة

بالنسبة لطلبك غير واضح المعالم بعد .. على أي أساس يتم استدعاء طالب بعينه .. وما هي شكل النتائج المتوقعة ..

يرجى إرفاق الملف مرة أخرى مع تلوين الخلايا المراد استدعاء المعلومات فيها ويرجى توضيح الأساس الذي سيتم على أساسه عملية الاستدعاء

وهل عملية الاستدعاء لطالب واحد فقط أم لعدة طلاب

وإذا كان الاستدعاء لعدة طلاب فكيف تكون المخرجات المطلوبة؟؟

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

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

تم تعديل بواسطه ياسر خليل أبو البراء
قام بنشر (معدل)

السلام عليكم

أستاذ ابو البراء

عمل الكود بشكل عام يستقدم معلومات الطالب و ويعطي للطالب ما سيحفظه خلال الشهر ثم الطباعة

فالكود يقوم بثلاث مهام استدعاء بيانات الطالب -توزيع الحفظ الجديد- الطباعة

وذالك لكل الطلبة ما عدا الطالب المنقطع يسألك الكود *الطالب منقطع هل تود ان تطبع له كشف*

سيبدا الكود من الطالب الاول الى آخر طالب ويقوم بالثلاث مراحل لكل طالب (استدعاء - توزيع - الطباعة)

1- نبدأ باستدعاء بيانات الاسم - القيد - الرقم وتكون من صفحة معلومات التسجيل

 

 

Quran School V11.2.rar

تم تعديل بواسطه أبو عبد الملك السوفي
قام بنشر

جرب الكود التالي عله يكون المطلوب

طبعاً استخدمت معاينة الطباعة وليس أمر الطباعة للتجربة

افحص النتائج بشكل جيد وأعلمنا بالنتائج هل صحيحة أم غير صحيحة

Sub FollowAll()
    Dim I As Long, lRow As Long
    Dim rngFound As Range
    Dim wsRecord As Worksheet, wsMonthly As Worksheet, SH As Worksheet
    Set wsRecord = Sheets("معلومات التسجيل"): Set wsMonthly = Sheets("مجمع النتائج الشهرية"): Set SH = Sheets("كشف متابعة")

    With Application
        .ScreenUpdating = False: .EnableEvents = False: .Calculation = xlManual
    End With

    With wsRecord
        For I = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
            If Not IsEmpty(.Cells(I, "N")) Then
                If MsgBox("الطالب " & .Cells(I, "C") & " منقطع هل تود أن تطبع له كشف?", vbYesNo + vbMsgBoxRtlReading) = vbYes Then
                    GoTo Continue
                Else: End If
            Else
Continue:
                SH.Range("C1") = .Cells(I, "C")
                SH.Range("C4") = .Cells(I, "B")
                SH.Range("C5") = .Cells(I, "A")
                Set rngFound = wsMonthly.Columns("C:C").Find(What:=.Cells(I, "C"), searchorder:=xlByRows, searchdirection:=xlPrevious)
                If Not rngFound Is Nothing Then
                    lRow = rngFound.Row
                    If wsMonthly.Cells(lRow, "R") >= 60 Then
                        SH.Range("R4") = wsMonthly.Cells(lRow, "N"): SH.Range("S4") = wsMonthly.Cells(lRow, "O")
                    ElseIf wsMonthly.Cells(lRow, "R") < 60 Then
                        SH.Range("R4") = wsMonthly.Cells(lRow, "L"): SH.Range("S4") = wsMonthly.Cells(lRow, "M")
                    Else
                        MsgBox "لا يوجد درجة للطالب " & .Cells(I, "C"), vbCritical
                    End If
                End If
                SH.PrintPreview
            End If
        Next I
    End With

    With Application
        .ScreenUpdating = True: .EnableEvents = True: .Calculation = xlAutomatic
    End With
End Sub

 

  • Like 3
قام بنشر

السلام عليكم

ممتاز استاذ ياسر

شيئ رائع وكل شيئ تمام

بقي في مرحلة الاستدعاء استدعاء الحلقة والمعلم وتكون على اساس الخلية R4 استنادا الى الجدول في صفحة الحلقات.

 

قام بنشر

أخي الكريم

إليك التعديل التالي

Sub FollowAll()
    Dim I As Long, lRow As Long
    Dim rngFound As Range
    Dim wsRecord As Worksheet, wsMonthly As Worksheet, SH As Worksheet
    Set wsRecord = Sheets("معلومات التسجيل"): Set wsMonthly = Sheets("مجمع النتائج الشهرية"): Set SH = Sheets("كشف متابعة")

    With Application
        .ScreenUpdating = False: .EnableEvents = False: .Calculation = xlManual
    End With

    With wsRecord
        For I = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
            If Not IsEmpty(.Cells(I, "N")) Then
                If MsgBox("الطالب " & .Cells(I, "C") & " منقطع هل تود أن تطبع له كشف?", vbYesNo + vbMsgBoxRtlReading) = vbYes Then
                    GoTo Continue
                Else: End If
            Else
Continue:
                SH.Range("C1") = .Cells(I, "C")
                SH.Range("C4") = .Cells(I, "B")
                SH.Range("C5") = .Cells(I, "A")
                
                Set rngFound = wsMonthly.Columns("C:C").Find(What:=.Cells(I, "C"), searchorder:=xlByRows, searchdirection:=xlPrevious)
                If Not rngFound Is Nothing Then
                    lRow = rngFound.Row
                    If wsMonthly.Cells(lRow, "R") >= 60 Then
                        SH.Range("R4") = wsMonthly.Cells(lRow, "N"): SH.Range("S4") = wsMonthly.Cells(lRow, "O")
                    ElseIf wsMonthly.Cells(lRow, "R") < 60 Then
                        SH.Range("R4") = wsMonthly.Cells(lRow, "L"): SH.Range("S4") = wsMonthly.Cells(lRow, "M")
                    Else
                        MsgBox "لا يوجد درجة للطالب " & .Cells(I, "C"), vbCritical
                    End If
                End If
                
                SH.Range("C2").Formula = "=IF(" & SH.Range("R4").Address & "="""","""",LOOKUP(INDEX(QNumbers,MATCH(" & SH.Range("R4").Address & ",QNames,0)),الحلقات!$F$2:$F$6,الحلقات!$B$2:$B$6))"
                SH.Range("C3").Formula = "=IF(" & SH.Range("R4").Address & "="""","""",LOOKUP(INDEX(QNumbers,MATCH(" & SH.Range("R4").Address & ",QNames,0)),الحلقات!$F$2:$F$6,الحلقات!$D$2:$D$6))"
                SH.Range("C2:C3").Value = SH.Range("C2:C3").Value
                SH.PrintPreview
            End If
        Next I
    End With

    With Application
        .ScreenUpdating = True: .EnableEvents = True: .Calculation = xlAutomatic
    End With
End Sub

 

  • Like 3
قام بنشر

السلام عليكم

أستاذ احمد زمان بوركت ان شاء الله

استاذ ياسر ماشاء الله عليك كل شيئ تمام و الحمد لله

ننتقل ان شاء الله تعالى الى المرحلة الثانية وهي التوزيع:

وسنعتمد في هاته المرحلة على لخليتان R4  S4 و صفحة المنهج

1- مراجعة البعيد:من  Q11 الى Q34

اولا يحسب الكود عدد الاسطر من الفاتحة الى السورة المكتوبة في الخليتان  S4  R4 في صفحة المنهاج    

مثلا الطالب وليد زاوي صاحب الرقم 1

مكتوب لديه الحجرات18 لو حسبنا في صفحة المنهج من الحجرات 18 الى الفاتحة1  نجد 312 سطر (الحجرات18 تقع في السطر 312)

الآن يقوم الكود يقسمة الرقم 312على 24 فنجد13 (اذا كان بالفواصل يقربه الى الاعلى)

اي ان الطالب سيراجع في اليوم 13 سطر

فيكتب الكود في :

الخلية Q11 من السطر 1 الى السطر 13 أي (الفاتحة1 - الكوثر 3)

الخلية Q12 من السطر 14 الى السطر 26(14+12=26) أي (الماعون1 - العاديات6)

الخلية Q13 من السطر 27 الى السطر 39 (27+12=39)أي (العاديات7- التين8)

وهكذا الى الخلية Q34

 

 

قام بنشر

السلام عليكم

مرحبا استناذ ياسر

24 تعني 24 يوما

لان الطالب سيراجع ما حفضه سابقا خلال شهر

اما اذا كانت الاسطر اقل من 24 فتزوع على على عددها

اذا كانت 22 تزوع على 22 والباقية من 24 تبقى فارغة

اذا كانت 10 توزع على 10 ايام والباقية تبقى فارغة

قام بنشر (معدل)

36/24=1.5

مع التقريبي هي 2

اذا يوزع الكود سطرين سطرين (18 يوم ) والباقي من 24 يزم تبقى فارغة

القاعدة انه لا يهم اذا بقيت الاسطر الاخيرة فارغة

 

تم تعديل بواسطه أبو عبد الملك السوفي
قام بنشر

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

صراحة مش ناسيك بس الموضوع معقد شويتين ..

لو تفرد موضوع مستقل للطلب ده يكون أفضل ، حتى يشارك فيه الأخوة الكرام .. شدوا بأزري

  • Like 1
قام بنشر (معدل)

السلام عليكم

كان الله في عونك استاذ ابو البراء

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

وسافتح موضوع جديد ان شاء الله

بوركت انت لم تقصر ابدا

تم تعديل بواسطه أبو عبد الملك السوفي

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