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

أ / محمد صالح

أوفيسنا
  • Posts

    4,357
  • تاريخ الانضمام

  • Days Won

    185

Community Answers

  1. أ / محمد صالح's post in تشغيل كود مع حدث بفورم was marked as the answer   
    يمكنك الاكتفاء ب
    rem_protect
    لاستدعاء الاجراء
  2. أ / محمد صالح's post in تسمية الشيت was marked as the answer   
    بدلا من استعمال اسم الطالب كاسم للشيت 
    يمكنك استعمال رقم الطالب ID
    بالتوفيق
  3. أ / محمد صالح's post in كتابة مسلسل واسم الشخص في خلية واحدة؛ وتعديل معادلة was marked as the answer   
    يمكنك استعمال هذه المعادلة في الخلية C13
    =IFERROR(INDEX($A$3:$A$10,SMALL(IF(C$3:C$10="ح",$A$3:$A$10),ROW()-12))&" "&INDEX($B$3:$B$10,SMALL(IF(C$3:C$10="ح",$A$3:$A$10),ROW()-12)),"") مع سحب المعادلة يسارا ثم أسفل
    وهذا ملفك بعد كتابة المعادلة فيه
    فربما لا يعرف أحدنا كيفية إضافة المعادلات للملفات
    بالتوفيق
    كتابة مسلسل واسم الشخص في خلية واحدة؛ وتعديل معادلة.xlsx
  4. أ / محمد صالح's post in ما الفرق بين hide , unload , end في التعامل مع النماذج was marked as the answer   
    عليكم السلام ورحمة الله وبركاته
    الأمر hide يستعمل في إخفاء النموذج فقط وليس إغلاقه كاملا وهذا يعني إمكاية استعمال جميع المتغيرات والكائنات المستعملة في النموذج
    الأمر unload يستعمل في إعلاف النموذج كاملا فلا يمكن استعمال أي من متغيراته أو كائناته
    ويمكن استعمال الأمرين من داخل النموذج
    me.hide unload me أو من خارجه
    userform1.hide unload userform1 أما end فلا علاقة لها بالنموذج وإغلاقه
    فهي تستعمل للتعبير عن نهاية بعض الأوامر مثل
    End [Function | Sub | With | Select | Type | Enum | If ] أما exit فتستعمل للخروج من بعض الأوامر مثل
    Exit [ Do | For | Function | Select | Sub ]  
    بالتوفيق
  5. أ / محمد صالح's post in استفسار عن تثبيت قيمة ليبول او تكست بوكس was marked as the answer   
    في هذه الحالة يمكنك تخزين التاريخ في خلية وقيمة الليبل في خلية
    وفي حدث عن الإغلاق يتم تحديث الخليتين
    وفي حدث بداية النموذج يتم فحص خلية التاريخ إذا كانت أقل من تاريخ اليوم يضع قيمة الخلية في الليبل وإلا فلا يفعل شيئا
    بالتوفيق
  6. أ / محمد صالح's post in حذف مفتاح الدولي في ارقام هواتف في اكسل was marked as the answer   
    جرب هذه المعادلة 
    =MID(A2, 2,11) بالتوفيق 
  7. أ / محمد صالح's post in مساعدة فى تعديل كود للبحث الذكي داخل جدول was marked as the answer   
    عليكم السلام
    جرب تعدبل كود تغيير مربغ النص الى
    Private Sub TextBox1_Change() If TextBox1.Text <> "" Then ActiveSheet.ListObjects("data2").Range.AutoFilter Field:=4, Criteria1:="=" & TextBox1.Text & "*", Operator:=xlOr Else ActiveSheet.ListObjects("data2").Range.AutoFilter Field:=4 End If End Sub بالتوفيق
  8. أ / محمد صالح's post in طلب مساعدة فى معادلة مصفوفة was marked as the answer   
    يمكنك استعمال هذه المعادلة
    في المكان الذي تريد ظهور قائمة التليفونات بها
    =IFERROR(INDEX($B:$B,SMALL(IF(($E:$E="السبت")*($D:$D=""),ROW($E:$E)),ROW()-2)),"") مع سحب المعادلة لأسفل للحصول على باقي الأرقام
    بالتوفيق
  9. أ / محمد صالح's post in مساعده ف تفعيل اكثر من ماكرو ف شيت واحد was marked as the answer   
    عليكم البسلام ورحمة الله وبركاته
    يمكنك وضع استدعاء الإجراء الآخر حسب ترتيب التنفيذ المطلوب
    قبل أو بعد هذا السطر
    Call macro1 بالتوفيق
  10. أ / محمد صالح's post in مساعدة في عمل اقل كمية was marked as the answer   
    علبكم السلام ورحمة الله زبركاته
    أعتقد أن الطريقة الصحيحة لبرمجة النواقص هي:
    في شاشة إضافة صنف يتم إضافة أقل قيمة أو كمية التنبيه أو أي تسمية وتسجل في الشيت الخاص بالأصناف
    وفي شاشة عمليات البيع يتم التأكد من أن العدد المطلوب أكبر من العدد المتبقي في المخزن وحساب العدد المتبقي بعد عملية البيع
    فإذا كان أقل من كمية التنبيه يتم إضافته للنواقص
    مع ضرورة تفريغ جدول النواقص بمجرد شراء هذه النواقص
    بالتوفيق
  11. أ / محمد صالح's post in تصحيح الخطأ في كود تجميع الشيتات في شيت واحد was marked as the answer   
    أخطاء بسيطة جدا تدل على محاولة تطبيق الكود بدون فهم متغيراته وكائناته
    إن شاء الله يكون هذا هو المطلوب
    Sub ColllectShets() Dim ws As Worksheet, Sh As Worksheet Dim LR As Long, x As Long Dim Arr, i As Long Set ws = Sheets("مجمع الصفوف") Application.ScreenUpdating = False ws.Range("C10:p10000").Clear For Each Sh In Sheets(Array("1", "2", "كي جي1")) x = WorksheetFunction.CountA(Sh.Range("a10:a" & Sh.Range("a" & Rows.Count).End(xlUp).Row)) Sh.Range("C10:p" & Sh.Range("a" & Rows.Count).End(xlUp).Row).Copy If LR < 9 Then LR = 9 Else LR = ws.Range("D" & Rows.Count).End(xlUp).Row End If ws.Range("C" & LR + 1).PasteSpecial xlPasteFormats ws.Range("C" & LR + 1).PasteSpecial xlPasteValues ws.Range("p" & LR + 1).Resize(x).Value = Sh.Name Application.CutCopyMode = False For i = 10 To ws.Range("d" & Rows.Count).End(xlUp).Row ws.Range("C" & i) = i - 9 Next i Next Sh Application.ScreenUpdating = True End Sub لاحظ استعمالك للعمود C للحصول على آخر صف بالرغم من فراغ العمود C
    لذلك تم استعمال العمود D بدلا منه
    بالتوفيق
  12. أ / محمد صالح's post in طلب مساعدة من فضلكم دالة if was marked as the answer   
    عليكم السلام ورحمة الله وبركاته
    حسب فهمي للمطلوب
    يمكنك استخدام هذه المعادلة
    =IF(R7=300,N11*300,IF(N11<=5,N11*600,(5*600)+(N11-5)*300)) بالتوفيق
  13. أ / محمد صالح's post in طلب معادلة was marked as the answer   
    عليكم السلام ورحمة الله زبركاته
    يمكنك استعمال هذه المعادلة في C2
    =IFERROR(IF(G2>INDEX($N$2:$N$5,MATCH(I2,$O$2:$O$5,0)),0,INDEX($N$2:$N$5,MATCH(I2,$O$2:$O$5,0))-G2),"") مع سحب المعادلة لأسفل
    بالتوفيق
  14. أ / محمد صالح's post in مشكلة بدالة SUM was marked as the answer   
    ربما يكون تنسيق بعض الخلايا (نص Text) 
    فهذا يجعل الاكسل لا يجمعها
    بالتوفيق
  15. أ / محمد صالح's post in جمع عدد الارقام استنادا على الاسم was marked as the answer   
    عليكم السلام ورحمة الله وبركاته
    أخي الكريم
    حتى يتوافق ملفك مع أنظمة قواعد البيانات والمعادلات المتبعة في إكسل
    يمكنك جعل الأيام الموجودة في الأعمدة من J إلى AG على شكل صفوف أسفل بعضها
    وإضافة عمود التاريخ لتصبح الأعمدة في قاعدة بياناتك هي: م  /  اسم الدليل  /  لغة الدليل  /  اسم المنفذ  /  عدد صفحات الدليل الأساسي  /  التاريخ  /  عدد الصفحات المخططة  /   عدد الصفحات المنجزة   /  المتبقي  / ملاحظات
    بهذا التنظيم يمكنك استعمال دوال مثلsumif أو sumifs بكل سهولة ويسر
    أو يمكنك استعمال هذه المعادلة ويبقى الملف على حاله
    في الخلية F4
    =SUMPRODUCT($G$18:$AG$30, ($G$17:$AG$17=F$3)*($E$18:$E$30=$C4)) ويمكنك سحب المعادلة يسارا وأسفل
    مع ضرورة تصحيح عناوين أعمدة عدد الصفحات المخططة في الأيام حيث أنها مكتوب بها المخططة مرتين
    بالتوفيق
  16. أ / محمد صالح's post in تصحيح كود وضع علامة صح أو خطأ لكى يعمل على نطاق معين was marked as the answer   
    يمكنك حذف هذا السطر 
    If Target.Column = 2 Then وكتابة هذا السطر
    If Target.Column > 3 and target.column < 14 and target.row > 2 and target.row < 11 Then أو هذا السطر
    If Not Application.Intersect(Target, Range("D3:M10")) Is Nothing Then بدلا منه
    بالتوفيق
  17. أ / محمد صالح's post in مشكلة مع التعبئة السريعه flash fill was marked as the answer   
    عليكم السلام ورحمة الله وبركاته
    لفصل التاريخ عن الوقت
    يمكنك استعمال النص إلى أعمدة text to columns وفي هذا الحالة يجب إضافة عمود واحد بين تاريخ الإصدار وتاريخ الصرف ليتم كتابة الوقت فيه
    أو يمكنك استعمال flashfill ولكن في هذ الحالة يجب إضافة عمودين بين تاريخ الإصدار وتاريخ الصرف حتى يمكن كتابة التاريخ في الأولى والوقت في الثانية
    أو يمكنك استعمال المعادلات لتقسيم النص مثل هذه المعادلة لجلب التاريخ فقط من عمود تاريخ الإصدار
    =MID(A3,1,10) وهذه المعادلة لجلب الوقت فقط من عمود تاريخ الإصدار
    =MID(A3,12,8) ويمكن تنفيذها على عمود تاريخ الصرف
    بالتوفيق
  18. أ / محمد صالح's post in حساب المدة بالايام was marked as the answer   
    يمكنك استعمال المعادلة التالية في الخلية H5
    =IF(OR(F5="",G5=""),"",G5-F5+1) وتعني إن كانت إحدى الخليتين فارغة تكون النتيجة فارغة وإلا يقوم بطرح الأكبر - الأصغر ويضيف يوم البداية لأنه محسوب بيوم
    مع سحبها لأسفل للتطبيق على الخلايا بالأسفل
    مع ملاحظة أن التاريخين بالصف الأول 6 مارس 2022 و 6 أغسطس 2022 وبينهما 154 يوما وهي كالتالي: 26  و  30  و  31  و  30  و  31  و  6 وليست من 3 يونيو إلى 8 يونيو حتى يكون الفرق بينهم 6 أيام
    بالتوفيق
  19. أ / محمد صالح's post in طلب دالة تعمل مثل vlookup ولكن بإستبدال رقم العامود بمتغير was marked as the answer   
    يمكنك استعمال هذه المعادلة في الخلية B2
    =VLOOKUP(A2,'2'!$A$1:$Z$25,MATCH($B$1,'2'!$1:$1,0),FALSE) تم استبدال رقم العمود بناتج دالة ماتش التي تبحث عن مكان كلمة التحقيق $b$1 في الصف 1:1
    بالتوفيق
  20. أ / محمد صالح's post in أحصائيات was marked as the answer   
    لا أرى فائدة مرجوة من عمل مثل هذه الاحصائيات على النماذج
    والأفضل تصميمها في شيت الاكسل بالمعادلات حتى يمكن طباعتها
    والله أعلم
  21. أ / محمد صالح's post in مشكلة تظهر عند محاولة ترتيب الخانات ابجدياً was marked as the answer   
    يجب أن تكون جميع الخلايا في الجدول والعناوين غير مدمجة
  22. أ / محمد صالح's post in كيفة منع محرك البحث من اظهار اصدار المحمول عند الضغط على الرابط التشعبي في اكسل؟ was marked as the answer   
    لكل موقع طريقته في التصميم والبرمجة 
    فبعضها يضع m قبل الرابط للدلالة على إصدار الموبايل 
    مثل فيسبوك 
    https://m.facebook.com
    وبعضها يضع m=1 مثل blogger
    وبعضها يكتشف الجهاز ويعرض الإصدار المناسب دون تغيير في الرابط 
    بالتوفيق 
  23. أ / محمد صالح's post in حذف تاريخ عند القيام بطبع الوصل was marked as the answer   
    حسب فهمي للمطلوب يمكنك إضافة هذا الكود في نهاية إجراء الطباعة Sub PRINT_OUT
    lr = Cells(Rows.Count, 1).End(xlUp).Row For r = 8 To lr rw = Application.WorksheetFunction.Match(Range("A" & r).Value, Sheets("التحميل").Range("A:A"), 0) Sheets("التحميل").Range("Q" & rw).Value = "تم الصرف" Next r وهو للحصول على رقم الصف الذي يحتوي على رقم المستند الموجود في الخلية A8 وما بعدها عند البحث عنه في العمود A في شيت التحميل
    ثم تغيير قيمة الخلية Q في نفس الصف إلى تم الصرف
    بالتوفيق
  24. أ / محمد صالح's post in تعديل كود الترحيل والترقيم التلقائي was marked as the answer   
    أعتقد لا يوجد مشكلة في كود زر الترحيل
    ولكن يجب الانتباه إلى أنه يعمل على الشيت النشط
    Set ws = ActiveSheet بالتوفيق
  25. أ / محمد صالح's post in محتاج مساعدة فى عمل معادلة لاستخراج الناتج توريد قمح2022 was marked as the answer   
    حسب فهمي للمطلوب هذه محاولة
     
    فقط يلزم كتابة الدرجة
    ويتم الحصول على كل الخلايا
    بالتوفيق
    C_2.xlsx
×
×
  • اضف...

Important Information