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

الشهابي

الخبراء
  • Posts

    1,160
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    1

مشاركات المكتوبه بواسطه الشهابي

  1. السلام عليكم ورحمة الله وبركاته 

    أستاذي العزيز جرب الملف الآتي 

    عملت فيه كودين

    واحد لإضافة درجة القرار

    والأخر لحذفها في حالة قررت التراجع عن قرار الإضافة

    إن شاء الله يلبي طلبك 

    اضافة درجة القرار للطلاب1.xlsm

    • Like 2
  2. السلام عليكم 

    أخي العزيز لعلني لم استوعب المطلوب بشكل جيد 

    ولكن إن شاء الله من خلال ملاحظاتكم ومراجعة الجدول سيتم تدارك الأخطاء وتصحيحها

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

    بيان العجز والزيادة للعام 2021 (1).xlsx

    • Like 1
  3. السلام عليكم ورحمة الله وبركاته 

    أولا : عفوا على التأخر عليكم  في الرد وذلك بسبب بطء النت كلما حاولت أن أرد لم استطع 

    ثانيا : تم ربط الأنصبة بنصاب كل فئة حسب ما ذكرتم وحسب ما فهمت بس قمت بفصل الرقم عن الاسم حتى يتم الربط بعدد الحصص للفئة ، وكذلك يمكن التعديل علىها 

    جعلت خلايا الحصص للفئات باللون الرمادي

    إن شاء يلبي هذا ما طلبته

    وأي استفسار أو خطأ سنكون مع بعض إن شاء الله حتى نتوصل إلى مبتغاك معاً إن شاء الله 

    بيان العجز والزيادة للعام 2021.xlsx

    • Like 1
  4. أخي العزيز 

    اطلعت على الملف 

    وجدت فيه أخطاء في التنسيق الشرطي وتم تعديلها إن شاء الله

    بالنسبة للجمل أسفل الجدول إدا حاولت سحبها نحو اليمين سيتم عمل حدود جدول 

    وذلك بسبب التنسيق الشرطي لأن وضع أي بيانات في أي خلية في العمود (E) تدخل تحت التنسيق الشرطي 

    فلا بد من تركها في موضعها 

    لم أعدل شيء في الكود فقط أضفت سطر لتحديد ناحية الطباعة

    جرب المرفق

     

     

    حوافظ.rar

    • Like 1
  5. أخي العزيز / أبو محمد عاطف

    تم تعديل المعادلة لتحديد الناجح والراسب من خلال احتساب درجة النجاح في المواد التي ليس له دور ثاني فيها إضافة إلى درجة النجاح لمواد الدور الثاني التي سيتم رصدها 

    أي أنها تأخذ شروطها من الصفين معاً للطالب 

    بس هناك نقطة لاحظتها وهي ظهور علامات تساوي درجة النجاح لكنها في الأصل هي مقربة مثلا ( 50) وهي في الأصل ( 49.5 ) هل التقريب يحتسب للطالب أم أنه يعتبر راسب 

    على الفكرة المعادلة لا تحسب التقريب إنما تحسب الرجة الفعلية لتحديد نتيجة الطالب

    هذا الكود بعد تعديل المعادلة

    Sub ترحيل()
    
        Application.EnableEvents = False
        Application.ScreenUpdating = False
        Application.Calculation = xlManual
      Dim LR, y As Integer
    
    Sheets("رصد الدور الثاني").Range("A13:AG1000").ClearContents
    LR = Range("c10000").End(xlUp).Row
    
    
    y = 14
    For i = 13 To LR
       
        If Cells(i, 33).Value = "دور ثان في" And Cells(i, 3) <> 0 Then
            Range("a" & i).Resize(1, 33).Copy
            Sheets("رصد الدور الثاني").Range("a" & y).PasteSpecial xlPasteValues
            Application.CutCopyMode = False
            Sheets("رصد الدور الثاني").Range("ag" & y - 1).FormulaR1C1 = _
            "=IF(AND(OR(RC[-24]>=R12C9,R[1]C[-24]>=R12C9),OR(RC[-21]>=R12C12,R[1]C[-21]>=R12C12),OR(RC[-18]>=R12C15,R[1]C[-18]>=R12C15),OR(RC[-15]>=R12C18,R[1]C[-15]>=R12C18),OR(RC[-12]>=R12C21,R[1]C[-12]>=R12C21),OR(RC[-9]>=R12C24,R[1]C[-9]>=R12C24),OR(RC[-6]>=R12C27,R[1]C[-6]>=R12C27),OR(RC[-3]>=R12C30,R[1]C[-3]>=R12C30)),""ناجـــح"",""راسب"")"
            y = y + 2
        End If
    Next i
    
     With Sheets("رصد الدور الثاني").Range("a13:a1000")
     .FormulaR1C1 = "=IF(RC[2]=0,"""",SUBTOTAL(3,R13C3:RC[2]))"
     .Value = .Value
       End With
       Sheets("رصد الدور الثاني").Activate
        Application.Calculation = xlAutomatic
        Application.ScreenUpdating = True
        Application.EnableEvents = True
    End Sub

     

     

     

    كنترول الشعراوي للصف الأول.rar

  6. أخي العزيز / أسامة أبو عمر 

    السبب هو أن الامتدادات في نطاقات المعادلة قصيرة إلى (100) صف فقط والبيانات عندك تجاوزت تلك الامتدادات 

    هذه المعادلة بعد جعل الامتدادات إلى (10000) 

    =IF(SUMPRODUCT(--($A$2:$A2=A2)*($B$2:B2=B2))>1;"";IF(SUMPRODUCT(--($A$2:$A$10000=A2)*($B$2:$B$10000=B2)*($D$2:$D$10000="غياب"))/SUMPRODUCT(--($A$2:$A$10000=A2)*($B$2:$B$10000=B2))>=50%;"غائب";"حاضر"))

     

    StaffAttendance (3).rar

    • Like 1
  7. أخي العزيز 

    الحمد لله الذي أوصلك ما تريد أسأل الله أن يوفقك لكل ما تريد 

    إذا لم يتحمل الملق معك 

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

    Sub trhel()
    
           
             Application.ScreenUpdating = False
             Application.Calculation = xlManual
       lr = Sheets("Solid").Range("D10000").End(xlUp).Row
       lr1 = Sheets("DB").Range("a10000").End(xlUp).Row
            For I = 7 To lr
           Sheets("DB").Cells(lr1 + 1, 1).Value = Sheets("Solid").Cells(2, 5).Value
           Sheets("DB").Cells(lr1 + 1, 2).Value = Sheets("Solid").Cells(2, 8).Value
           Sheets("DB").Cells(lr1 + 1, 3).Value = Sheets("Solid").Cells(4, 8).Value
           Sheets("DB").Cells(lr1 + 1, 4).Value = Sheets("Solid").Cells(4, 5).Value
                For Each CLL In Sheets("DB").Range("E1:IV1")
                    If CLL = Sheets("Solid").Cells(I, 4) Then
                       CLL.Offset(lr1, 0) = Sheets("Solid").Cells(I, 4).Offset(0, 2).Value
                    End If
                Next CLL
            Next I
            Sheets("solid").Select
             Application.Calculation = xlAutomatic
             Application.ScreenUpdating = True
            
        Range("D7:D46,F7:F46,G7:G46,H4").ClearContents
    
    End Sub

    وبالنسبة للتخلص من الخطأ في المعادلة استبدل المعادلة بهذه 

    =IF(ISERROR(VLOOKUP(D8;$O$7:$P$51;2;0));"";VLOOKUP(D8;$O$7:$P$51;2;0))

    وفقك الله 

     

  8. أخي العزيز / أبو محمد عاطف

    جرب التعديل التالي 

    Sub ترحيل()
    
        Application.EnableEvents = False
        Application.ScreenUpdating = False
        Application.Calculation = xlManual
      Dim LR, y As Integer
    
    Sheets("رصد الدور الثاني").Range("A13:AG1000").ClearContents
    LR = Range("c10000").End(xlUp).Row
    
    
    y = 14
    For i = 13 To LR
       
        If Cells(i, 33).Value = "دور ثان في" And Cells(i, 3) <> 0 Then
            Range("a" & i).Resize(1, 33).Copy
            Sheets("رصد الدور الثاني").Range("a" & y).PasteSpecial xlPasteValues
            Application.CutCopyMode = False
            Sheets("رصد الدور الثاني").Range("ag" & y - 1).FormulaR1C1 = _
            "=IF(AND(RC[-24]>=R12C9,RC[-21]>=R12C12,RC[-18]>=R12C15,RC[-15]>=R12C18,RC[-12]>=R12C21,RC[-9]>=R12C24,RC[-6]>=R12C27,RC[-3]>=R12C30),""ناجـــح"",""راسب"")"
            y = y + 2
        End If
    Next i
    
     With Sheets("رصد الدور الثاني").Range("a13:a1000")
     .FormulaR1C1 = "=IF(RC[2]=0,"""",SUBTOTAL(3,R13C3:RC[2]))"
     .Value = .Value
       End With
       Sheets("رصد الدور الثاني").Activate
        Application.Calculation = xlAutomatic
        Application.ScreenUpdating = True
        Application.EnableEvents = True
    End Sub

     

    كنترول الشعراوي للصف الأول.rar

  9. أخي العزيز / ahmad kafafy

    السلام عليكم ورحمة الله وبركاته

    أولا : أهلا وسهلا بك في هذا المنتدى

    ثانيا: لو ترفق ملف كمثال لما تريد وتحدد الصفوف المراد نسخها وما هي الشروط 

    بهذا الشكل ستجد المساعدة من الأخوة 

    تقبل تحياتي

  10. أخي العزيز / أسامة أبو عمر 

    من خلال  ما فهمته من الشروط أن الطالب يعتبر غائب إذا كانت نسبة الغياب 50% أو أكبر 

    ومن خلال هذا الفهم عملت المعادلة التالية إن شاء الله يكون فهمي صحيح والمعادلة صحيحة

    =IF(SUMPRODUCT(--($A$2:$A2=A2)*($B$2:B2=B2))>1;"";IF(SUMPRODUCT(--($A$2:$A$100=A2)*($B$2:$B$100=B2)*($D$2:$D$100="غياب"))/SUMPRODUCT(--($A$2:$A$100=A2)*($B$2:$B$100=B2))>=50%;"غائب";"حاضر"))

     

    StaffAttendance (4)_2.rar

    • Like 1
  11. أخي العزيز / أبو محمد عاطف

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

    ثانياً : ما فهمته من الصورة أنك تريد عند ترحيل الدور الثاني ترك سطر فارغ فوق كل طالب 

    اقتباس

    لكن الذي أقصده هو ترحيل درجة الدور الثاني فقط وليس فصل أول وفصل ثان ومجموع أنا أريد ترحيل المجموع فقط مثل هذه الصورة 

     

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

    Sub ترحيل()
        Application.EnableEvents = False
        Application.ScreenUpdating = False
        Application.Calculation = xlManual
      Dim LR, y As Integer
    Sheets("رصد الدور الثاني").Range("A13:AG1000").ClearContents
    LR = Range("c10000").End(xlUp).Row
    y = 14
    For i = 13 To LR
       
         If Cells(i, 33).Value = "دور ثان في" And Cells(i, 3) <> 0 Then
            Range("a" & i).Resize(1, 33).Copy
            Sheets("رصد الدور الثاني").Range("a" & y).PasteSpecial xlPasteValues
            Application.CutCopyMode = False
            y = y + 2
           
          End If
    Next i
    
      With Sheets("رصد الدور الثاني").Range("a13:a1000")
      .FormulaR1C1 = "=IF(RC[2]=0,"""",SUBTOTAL(3,R13C3:RC[2]))"
      .Value = .Value
      End With
       Sheets("رصد الدور الثاني").Activate
        Application.Calculation = xlAutomatic
        Application.ScreenUpdating = True
        Application.EnableEvents = True
    End Sub

    إذا كان تريد ترحيل بآلية أخرى ممكن توضيحها 

    وبالنسبة لترحيل الناجحين والراسبين من ورقة الدور الثاني ممكن توضيح آلية الترحيل 

     

    • Like 1
  12. أخي العزيز / أبو محمد عاطف

    ضع هذا الكود في موديول لترحيل الدور الثاني وأربطه  بزر  ( ترحيل لرصد دور الثاني ) في ورقة ( شيت آخر العام A3 )

    إذا كان الأمر كذلك سنكمل ترحيل الناحجين والراسبين 

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

    Sub ترحيل()
        Application.EnableEvents = False
        Application.ScreenUpdating = False
        Application.Calculation = xlManual
      Dim LR, y As Integer
    Sheets("رصد الدور الثاني").Range("A13:AG1000").ClearContents
    LR = Range("c10000").End(xlUp).Row
    y = 13
    For i = 13 To LR
       
         If Cells(i, 33).Value = "دور ثان في" And Cells(i, 3) <> 0 Then
            Range("a" & i).Resize(1, 33).Copy
            Sheets("رصد الدور الثاني").Range("a" & y).PasteSpecial xlPasteValues
            Application.CutCopyMode = False
            y = y + 1
           
          End If
    Next i
    
      With Sheets("رصد الدور الثاني").Range("a13:a1000")
      .FormulaR1C1 = "=IF(RC[2]=0,"""",SUBTOTAL(3,R13C3:RC[2]))"
      .Value = .Value
      End With
       Sheets("رصد الدور الثاني").Activate
        Application.Calculation = xlAutomatic
        Application.ScreenUpdating = True
        Application.EnableEvents = True
    End Sub

     

    • Like 2
  13. أخي العزيز  / محمد لؤي

    الحمد لله أن الأمر تم على الوجه المطلوب 

     

    أخي العزيز  / ناصر سعيد 

    المعادلة موجودة في التنسيق الشرطي 

    حدد أي خلية في الجدول وادخل على التنسيق الشرطي واختر إدارة القواعد ستجد المعادلة 

    والعفو

     

  14. أخي العزيز 

    هناك بعض الأخطاء 

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

    =SUMPRODUCT(--(تاريخ=$D1048572)*(رقم_السيارة=$E1048572)*(سائق=$F1048572))>0

    الأمر الثاني أنك غيرت في تسمية النطاقات ولم يتم تغيرها في المعادلة 

    الأمر الثالث أن النطاقات مفروض تكون متطابقة من حيث بداية الصف ونهايته 

    أنت قمت بزيادة صفوف النطاقات ولكن لم تكن متساوية 

    المهم تم التعديل وزيادة نطاق ( الطابقة 1) من أجل ألا يتم تظليل الخلايا الفارغة 

    =SUMPRODUCT(--(تاريخ_التحميل=$D2)*(رقم_السيارة=$E2)*(اسم_السائق=$F2)*(المطابقة1="مصروف"))>0

     

    المطابقة - المصروف + الموقف - تطبيق.rar

    • Like 1
×
×
  • اضف...

Important Information