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

الشهابي

الخبراء
  • Posts

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

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

  • Days Won

    1

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

  1. أخي العزيز استعملت هذه المعادلة في التنسيق الشرطي بعد إضافة تسمية لنطاقات جديدة =SUMPRODUCT(--(تاريخ=$D2)*(رقم_السيارة=$E2)*(سائق=$F2))>0 المطابقة - المصروف + الموقف - تلوين المصروف1.rar
  2. أخي العزيز جرب المرفق التالي tarhil.rar
  3. أرجو أن يقوم التعديل بالمطلوب هناك قائمة بالصفوف داخل الفورم نفسه مع تقديري واحترامي لك و لأستاذنا القدير محمود الشريف شيت_كنترول.rar
  4. الفورم اللي قدمه الأستاذ القدير / محمود الشريف حفظه الله سيقوم بالمطلوب لكن من ملاحظتي للبيانات في صفحة الشيت لم يتم تحديد الصف للطلاب السؤال : كيف سيتم معرفة الصف للطالب في هذه الحالة ؟ المطلوب تحديد عمود يوضع فيه الصف لكل طالب حتى يتم جلب العشرة الأوائل للصف هذا والله ولي التوفيق
  5. أخي العزيز / هادي أحمد السلام عليكم ورحمة الله وبركاته هذا شرح للكود Sub استدعاء() Application.ScreenUpdating = False 'إيقاف اهتزاز الشاشة أثناء تنفيد الكود Application.EnableEvents = False 'منع تنفيذ أي حدث آخر Application.Calculation = xlManual 'تحويل الحساب إلى يدوي 'الغرض من الأسطر السابقة هو تسريع عمل الكود 'On Error Resume Next هذا من أجل الاستمرار في حالة حدوث خطأ ولكن لم يستخدم Sheets(2).Range("A8:n1000").EntireRow.Delete 'حذف الصفوف في المدى المحدد في الورقة الثانية ورقة ( الدرجات ) For i = 3 To ActiveWorkbook.Sheets.Count 'عمل حلقة تكرارية لأوراق الملف من الورقة الثالثة حتى آخر ورقة lr = Sheets(i).Range("B10000").End(xlUp).Row 'تحديد آخر صف به بيانات في أرواق الحلقة التكرارية الممثلة بالمتغير ( i ) lr1 = Sheets(2).Range("B10000").End(xlUp).Row + 1 'تحديد آخر صف فارغ في ورقة الدرجات Sheets(i).Range("n7:n" & lr).ClearContents 'مسح البيانات في المدى المحدد في في أرواق الحلقة التكرارية Sheets(i).Range("n6").Value = "الصف" 'كتابة كلمة الصف في الخلية (n6) من أجل إضافة عمود يحمل اسم الروقة في جميع أوراقة الحلقةالتكرارية With Sheets(i).Range("n7:n" & lr) 'تحديد المدى المحدد .NumberFormat = "@" 'جعل المدى نوع الإدخال فيه ( نص ) .Value2 = Sheets(i).Name 'إضافة اسم الورقة في المدى End With 'إنهاء التحديد Sheets(i).Range("B6:n" & lr).AdvancedFilter Action:=xlFilterCopy _ , CriteriaRange:=Sheets(2).Range("f4:f5"), CopyToRange:=Sheets(2).Range("B" & lr1), _ Unique:=False 'عمل تصفية متقدمة لجميع أوراق الحلقة التكرارية ووضها في ورقة الدرجات بالتتابع كل ورقة تصفيتها تحت الأخرى Sheets(i).Range("n6:n" & lr).ClearContents 'مسح البيانات في المدى الذي أضيفت في ه اسم الورقة Next i 'من أجل تكرار الحلقة المتمثلة في المتغير (i)وإنهائها For Each CL In Sheets(2).Range("n8:n1000") 'عمل حلقة تكرارية أخرى من أجل حذف صفوف العناوين التي تم الحصول عليها من التصفية المتقدمة السابقة If CL.Value = "الصف" Then ' تحديد شرط إذا كان الصف يحتويى على كلمة (الصف ) قم بالآتي CL.EntireRow.Delete 'احذف الصف End If ' إنهاء الشرط Next CL 'تكرار الحلقة وإنهائها With Sheets(2).Range("A8:A1000") 'تحديد المدى من أجل عمل ترقيم تلقائي للبيانات التي تم الحصول عليها في ورقة الدرجات .FormulaR1C1 = "=IF(RC2="""","""",MAX(R7C1:R[-1]C)+1)" 'معادلة الترقيم التلقائي .Value = .Value ' تحويل الصيغ في المجى إلى قيم End With ' إنهاء التحديد With Sheets(2).Range("a8:n1000") 'تحديد المدى من أجل فرز البيانات حسب التسلسل الرقمي لها للتخلص من الفراغات .Sort Key1:=Sheets(2).Range("A8"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal ' تحديد عملية الفرز حسب عمود التسلسل End With ' إنهاء التحديد Application.Calculation = xlAutomatic 'إرجاع الحساب تلقائي Application.EnableEvents = True ' السماح بالأحداث الأخرى Application.ScreenUpdating = True 'إرجاع اهتزاز الشاشة End Sub 'إنهاء الكود تم عمل قائمة بحالة الطالب لزيادة المطلوب أم بالدوال أجد أن الأمر متعب شوي ويحتاج إلى وقت بالنسبة لي ريما أحد الأخوة لديه فكرة أفضل في هذا الأمر م.rar
  6. أخي العزيز / هادي أحمد السلام عليكم ورحمة الله وبركاته جرب المرفق التالي فيه المطلوب الأول والمطلوب الثاني للطباعة فقط م.rar
  7. الأخ العزيز / cherifdiar تم عمل معادلة المجموع في موضوع سابق اذهب لهذا الرابط وهل تريد المعادلة باستخدام عمود المعامل أو عمود الشروط لأن لا بد منها للحصول على النتيجة بسهولة تم استعمال عمود المعامل لتحقيق الشروط =IF(SUMPRODUCT(--($O$14:$O$22="غ"))>=3;"راسب";IF((SUMPRODUCT(--($O$14:$O$22>=$P$14:$P$22*10))+SUMPRODUCT(--($N$14:$N$22>=$P$14:$P$22*10)))=9;"ناجح";IF((SUMPRODUCT(--($O$14:$O$22>=$P$14:$P$22*10))+SUMPRODUCT(--($N$14:$N$22>=$P$14:$P$22*10)))>=7;"ناجح بدين";"راسب"))) نتيجة بشروط.rar
  8. الأستاذ العزيز / ياسر هذا تواضع منكم أستاذنا القدير فالكود الذي قدمته إحترافي أخذت فترة من الزمن وأنا أحاول أن أفهمه وأتعلم منه بارك الله فيكم وزادكم علماً ورفعة الأستاذ العزيز / تيجر يا أستاذ تيجر في عبارة في الفقه تقول ( إذا حضر الماء بطل التيمم ) خليك من الشهابي وكوده وخذ كود أستاذنا ومعلمنا ياسر حفظه الله هذه إضافة بسيطة في كود أستاذنا القدير ياسر من أجل هذا الأمر '=========================================================================================== Range("c46:c49").Copy Range("g42:g45") Range("c46:c49").ClearContents '=========================================================================================== وقد أضفت صفوف تحت صفوف الملاحظين وقبل الصف الذي يحتوي ( المراقـب الأول ) ومن ثم أخفيتها وهي إضافة بسيطة على قد الحال حتى يتسنى لأستاذنا حلها بنفسه الساقية المعدلة2.rar
  9. الأستاذ العزيز / ياسر ماشاء الله هذا عمل الأساتذة بارك الله فيكم أستاذنا القدير
  10. الأخ العزيز / سيد تيجر السلام عليكم ورحمة الله وبركاته أولا : أتقدم بالشكر الجزيل لأستاذنا القدير محمود الشريف أطال الله عمره وأمده بالصحة والعافية فعلا فدمج الخلايا عدو الأكواد كما تعلمناه من أساتذة هذا المنتدى حفظهم الله مما أظطرني إلى اللجو إلى المعادلات خاصة في النتائج الخاصة بالعمود (C) ومن ثم تحويلها إلى كود فهناك نطاقات معرفة تمت إضافتها ننبه عليها حتى لا تحذف وإلا لن يتم جلب البيانات وهي : ( rang4 ) ، ( rang3 ) ، ( rang2 ) ، ( rang1 ) ، ( rang ) وبالنسبة للإحتياطي تم عمل معادلات لعدد 4 هل هو كافي أم ربما يزيد عددهم ؟ قم بتغير الفترة في الخلية (J3) وسيتم استدعاء البيانات المطلوبة المهم جرب المرفق إن شاء الله تكون النتائج صحيحة تحياتي الساقية المعدلة2.rar
  11. أخي العزيز / طائع وبعد إذن أستاذنا الكبير سليم حاصبيا حفظه الله هذه معادلة أخرى إثراء للموضوع =IF(B6="";"";TEXT(B6;"mmm yyyy")) تحياتي لكم ولأستاذنا سليم
  12. أخي العزيز / طائع ما في تعب أبداً ونحن مع بعض حتى نصل إن شاء الله إلى الحل بس أخوك مبتدئ وغير متمكن في هذا المجال وما هي إلا محاولات نقوم بها عسى أن نصل إلى المطلوب والموفق الله هذا تعديل اطلع عليه وأعلمني بالنتيجة كل ماحدث فى تاريخ يوم_2.rar
  13. الأخ العزيز / cherifdiar تم عمل المعادلة المطلوبة ولكن من خلال إضافة عمود مساعد لتحديد درجة النجاح ممكن عملها من غير هذا العمود ولكن ستكون المعادلة طويلة جداً ومعقدة وهذا العمود وجوده لن يضر بالعكس هو سهل عمل المعادلة وإذا لم ترغب فيه يمكنك أن تقوم بإخفائه =IF(OR(SUMPRODUCT(--($O$14:$O$22>=$M$14:$M$22))=9;SUMPRODUCT(--($O$14:$O$22>$N$14:$N$22))=9);SUM($O$14:$O$22);SUMPRODUCT(--(N14:N22<$O$14:$O$22);($O$14:$O$22))+SUMPRODUCT(--(N14:N22>$O$14:$O$22);($N$14:$N$22))) لا حظ المعادلة وحاول تطبيقها على عدة بيانات ربما يكون فيها خطأ تحياتي طريقة حساب المجموع و المعدل.rar
  14. الأخ العزيز / سيد تيجر السلام عليكم ورحمة الله وبركاته كان بودي مساعدتكم في هذا الموضوع بس للأسف هذا فوق مستوانا العمل هو للأستاذ كبير عبد الله قشير حفظه الله وهو له فترة منقطع عن الدخول في الموقع فأتمنى من الأساتذة الكبار في هذا المنتدى أن يقوموا بمساعدتكم فأعتذر كثيرا لكم وأتمنى لكم التوفيق العفو
  15. أخي العزيز / طائع كنت أعتقد أنك تريد فقط البيانات الموجودة في العمود الأول فقط وأن تكرار الأعمدة كان غير مقصود لأن البيانات نفسها وحسبت ما فهمت أنك تريدها في كل الأعمدة تم تعديل الكود على حسب هذا كل ماحدث فى تاريخ يوم_2.rar
  16. أخي العزيز / طائع هل المطلوب المدفوع فوق التاريخ أو تحته
  17. أخي العزيز / Esam Ibrahim جزاك الله خير على هذه الفائدة نرجو منكم المزيد من المفيد جعل الله ذلك في ميزان حسناتكم تقبل تحياتي وتقديري
  18. أخي العزيز / سيد تيجر الحمد لله الذي وفقنا الرجاء رفع الملف في موضوع مستقل حتى يستفيد الجميع ويشارك عدد كبير من الأحوة فيه
  19. أخي العزيز / طائع أنا جربت التعديل والنتيجة تمام ممكن ترفق ملف وتوضح موضع الخطأ العفو
  20. أخي العزيز / cherifdiar جرب المعادلة التالية إن شاء الله تحقق المطلوب =IF(SUMPRODUCT(--($O$14:$O$22="غ"))>=3;"راسب";IF(SUMPRODUCT(--($O$14:$O$22>=$P$14:$P$22*10))=9;"ناجح ";IF(SUMPRODUCT(--($O$14:$O$22>=$P$14:$P$22*10))>=7;"ناجح بدين";"راسب"))) حيث تم استعمال عمود المعامل في المعادلة حيث فهمت أنه إذا كان المعامل 3 تكون الدرجة 30 وإذا كان 2 تكون 20 لست أدري هل ما فهمته صح أم لا المهم اطلع المرفق cherifc.rar
  21. أخي العزيز / طائع جرب المرفق هل هذا ماتريد كل ماحدث فى تاريخ يوم_2.rar
  22. أخي العزيز / أبو حنين أولا : المعادلة السابقة فيها خطأ وهي خاصة بالورقة (cairo) وأما الصحيحة هي : =SUMPRODUCT(--(INDIRECT(CONCATENATE(N1;"!";"B4:B10"))=N2)*(INDIRECT(CONCATENATE(N1;"!";"D4:D10"))=H19);(INDIRECT(CONCATENATE(N1;"!";"G4:G10")))) ثانياً : شرح المعادلة تم استعمال دالة (CONCATENATE) من عمل مرجع من اسم الورقة المأخوذ من الخلية (N1 )حيث كلما تغير اسم الورقة سوف تتغير في المعادلة تبعاً لذلك وكذلك مرجع النطاق الذي سنحتاج إليه في الدالة (SUMPRODUCT ) والنطاق الأول ("B4:B10") والثاني ("D4:D10") والثالث ("G4:G10") ويوضع بين علامتي تنصيص وأيضا قبله علامة التعجب ("!") الفاصلة بين اسم الورقة والنطاق ويمكن الاستغناء عن الدالة (CONCATENATE ) بعلامة العطف (&) لتقوم بنفس العمل حيث تصبح المعادلات هكذا =CONCATENATE(N1;"!";"B4:B10") =CONCATENATE(N1;"!";" D4:D10") =CONCATENATE(N1;"!";" G4:G10") ثم تم استعمال الدالة (INDIRECT) والذي تستخدم للإشارة إلى مرجع معين وهو هنا المرجع الذي تم عمله في المعادلة السابقة لتصبح المعادلات هكذا = INDIRECT(CONCATENATE(N1;"!";"B4:B10")) = INDIRECT(CONCATENATE(N1;"!";" D4:D10")) = INDIRECT(CONCATENATE(N1;"!";" G4:G10")) ومن ثم استعمال الدالة (SUMPRODUCT ) للحصول على النتيجة حيث تم استعمال شرطين الشرط الأول وهو المرجع ("B4:B10") الذي يمثل عمود الرقم المساوي لرقم الموظف في الخلية (N2) الشرط الثاني وهو المرجع ("D4:D10") الذي يمثل عمود اسم التدريب المساوي لاسم التدريب في الخلية (H19) ويتم الفصل بينهما بعلامة الضرب (*) والذي تعمل عمل دالة (AND) المستعملة مع دالة (If) مثلا أو غيرها ويمكن استعمال علامة ( + ) وهي بمثابة (OR) وأما علامة الفاصلة المنقوطة ( ; ) توضع هنا قبل النطاق المراد إرجاع النتيجة منه وهو هنا ("G4:G10") وبالتالي حصلنا على المعادلة المطلوبة إن شاء الله أكون وفقت في شرح المعادلة
  23. أخي العزيز / أبو حنين إضافة لحل أستاذنا الكبير بن علية حاجي حفظه الله آمين هذه المعادلة قمت بإعدادها فأحببت أن أشارك بها لإثراء الموضوع =SUMPRODUCT(--(INDIRECT(CONCATENATE("cairo";"!";"B4:B10"))=N2)*(INDIRECT(CONCATENATE("cairo";"!";"D4:D10"))=H19);(INDIRECT(CONCATENATE("cairo";"!";"G4:G10")))) تحياتي لك ولأستاذنا بن علية
  24. أخي العزيز / طائع أولا : مع وجود البيانات بهذا الشكل في الأمر شيء من الصعوبة ولحد الآن لم أفهم المطلوب تماماً ما المطلوب بالصبط هي جمع أرقام أو بيانات وهذه البيانات فوق التاريخ أو أسفل وهي كثيرة ومتنوعة بصراحة محتار في الأمر أعذرني على قلة فهمي كحل مبدئي وجزئي أقدم لك هذا الكود لجمع الأرقام التي فوق التاريخ مباشرة لست أدري هل هكذا تريده وفضلا مزيداً من التوضيح والعفو منك كل ماحدث فى تاريخ يوم_2.rar
  25. أخي العزيز / سيد تيجر تم تعديل الكود حسب طلبك إن شاء الله يكون مضبوط ما عليك فقط أن تضع الدرجة العظمى للمتوسط ( 40 ) أو ( 50 ) ودرجات الطلاب في خانة المتوسط و خانة الامتحان و الكود يقوم بالباقي تقبل تحياتي وأضفت لك كود لمسح كافة البيانات ما عدا الأسماء تقويم 2.rar
×
×
  • اضف...

Important Information