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

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    151

Community Answers

  1. أ / محمد صالح's post in استدعاء بيانات من عدة اوراق عمل was marked as the answer   
    جرب هذا المرفق
    يمكنك اختيار اسم الورقة وحالة السداد حسب ما يتم كتابته في عمود حالة السداد
    تمت التجربة بكتابة 1 أو 0 في عمود حالة السداد W
    فقط يلزمك تغيير أرقام الأعمدة المطلوب الحصول عليها بين القوسين {3,5,6,8}
    بالتوفيق
    جلب بيانات من الصفوف حسب حالة السداد.xlsx
  2. أ / محمد صالح's post in تظليل الأسماء المتشابه جزء منها was marked as the answer   
    يمكنك تجربة هذا الملف
    تم جلب أول 3 أسماء في العمود A ووضعها في العمود D
    وكذلك أول 3 أسماء في العمود C ووضعها في العمود E
    واستعمال معادلة العد بشرط
    =COUNTIF(E:E,D2)>0 لاستعمالها في تلوين خلايا العمود D عن طريق التنسيق الشرطي
    بالتوفيق
     
    مقارنة أول 3 أسماء.xlsb
  3. أ / محمد صالح's post in تصحيح الخطأ في كود قوائم الفصول was marked as the answer   
    بعد إذن الجميع
    هذا ملفك بعد تصحيح الخطأ في الكود
    الخطأ في نقل الكود وليس الكود الأصلي
    وينتج هذا الخطأ عن عدم فهم دلالات الأرقام والمتغيرات في الكود
    بالتوفيق
    مجمع الشيتات.xlsm
  4. أ / محمد صالح's post in تشغيل كود مع حدث بفورم was marked as the answer   
    يمكنك الاكتفاء ب
    rem_protect
    لاستدعاء الاجراء
  5. أ / محمد صالح's post in تسمية الشيت was marked as the answer   
    بدلا من استعمال اسم الطالب كاسم للشيت 
    يمكنك استعمال رقم الطالب ID
    بالتوفيق
  6. أ / محمد صالح'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
  7. أ / محمد صالح'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 ]  
    بالتوفيق
  8. أ / محمد صالح's post in استفسار عن تثبيت قيمة ليبول او تكست بوكس was marked as the answer   
    في هذه الحالة يمكنك تخزين التاريخ في خلية وقيمة الليبل في خلية
    وفي حدث عن الإغلاق يتم تحديث الخليتين
    وفي حدث بداية النموذج يتم فحص خلية التاريخ إذا كانت أقل من تاريخ اليوم يضع قيمة الخلية في الليبل وإلا فلا يفعل شيئا
    بالتوفيق
  9. أ / محمد صالح's post in حذف مفتاح الدولي في ارقام هواتف في اكسل was marked as the answer   
    جرب هذه المعادلة 
    =MID(A2, 2,11) بالتوفيق 
  10. أ / محمد صالح'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 بالتوفيق
  11. أ / محمد صالح's post in طلب مساعدة فى معادلة مصفوفة was marked as the answer   
    يمكنك استعمال هذه المعادلة
    في المكان الذي تريد ظهور قائمة التليفونات بها
    =IFERROR(INDEX($B:$B,SMALL(IF(($E:$E="السبت")*($D:$D=""),ROW($E:$E)),ROW()-2)),"") مع سحب المعادلة لأسفل للحصول على باقي الأرقام
    بالتوفيق
  12. أ / محمد صالح's post in مساعده ف تفعيل اكثر من ماكرو ف شيت واحد was marked as the answer   
    عليكم البسلام ورحمة الله وبركاته
    يمكنك وضع استدعاء الإجراء الآخر حسب ترتيب التنفيذ المطلوب
    قبل أو بعد هذا السطر
    Call macro1 بالتوفيق
  13. أ / محمد صالح's post in مساعدة في عمل اقل كمية was marked as the answer   
    علبكم السلام ورحمة الله زبركاته
    أعتقد أن الطريقة الصحيحة لبرمجة النواقص هي:
    في شاشة إضافة صنف يتم إضافة أقل قيمة أو كمية التنبيه أو أي تسمية وتسجل في الشيت الخاص بالأصناف
    وفي شاشة عمليات البيع يتم التأكد من أن العدد المطلوب أكبر من العدد المتبقي في المخزن وحساب العدد المتبقي بعد عملية البيع
    فإذا كان أقل من كمية التنبيه يتم إضافته للنواقص
    مع ضرورة تفريغ جدول النواقص بمجرد شراء هذه النواقص
    بالتوفيق
  14. أ / محمد صالح'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 بدلا منه
    بالتوفيق
  15. أ / محمد صالح's post in طلب مساعدة من فضلكم دالة if was marked as the answer   
    عليكم السلام ورحمة الله وبركاته
    حسب فهمي للمطلوب
    يمكنك استخدام هذه المعادلة
    =IF(R7=300,N11*300,IF(N11<=5,N11*600,(5*600)+(N11-5)*300)) بالتوفيق
  16. أ / محمد صالح'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),"") مع سحب المعادلة لأسفل
    بالتوفيق
  17. أ / محمد صالح's post in مشكلة بدالة SUM was marked as the answer   
    ربما يكون تنسيق بعض الخلايا (نص Text) 
    فهذا يجعل الاكسل لا يجمعها
    بالتوفيق
  18. أ / محمد صالح'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)) ويمكنك سحب المعادلة يسارا وأسفل
    مع ضرورة تصحيح عناوين أعمدة عدد الصفحات المخططة في الأيام حيث أنها مكتوب بها المخططة مرتين
    بالتوفيق
  19. أ / محمد صالح'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 بدلا منه
    بالتوفيق
  20. أ / محمد صالح's post in مشكلة مع التعبئة السريعه flash fill was marked as the answer   
    عليكم السلام ورحمة الله وبركاته
    لفصل التاريخ عن الوقت
    يمكنك استعمال النص إلى أعمدة text to columns وفي هذا الحالة يجب إضافة عمود واحد بين تاريخ الإصدار وتاريخ الصرف ليتم كتابة الوقت فيه
    أو يمكنك استعمال flashfill ولكن في هذ الحالة يجب إضافة عمودين بين تاريخ الإصدار وتاريخ الصرف حتى يمكن كتابة التاريخ في الأولى والوقت في الثانية
    أو يمكنك استعمال المعادلات لتقسيم النص مثل هذه المعادلة لجلب التاريخ فقط من عمود تاريخ الإصدار
    =MID(A3,1,10) وهذه المعادلة لجلب الوقت فقط من عمود تاريخ الإصدار
    =MID(A3,12,8) ويمكن تنفيذها على عمود تاريخ الصرف
    بالتوفيق
  21. أ / محمد صالح'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 أيام
    بالتوفيق
  22. أ / محمد صالح'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
    بالتوفيق
  23. أ / محمد صالح's post in أحصائيات was marked as the answer   
    لا أرى فائدة مرجوة من عمل مثل هذه الاحصائيات على النماذج
    والأفضل تصميمها في شيت الاكسل بالمعادلات حتى يمكن طباعتها
    والله أعلم
  24. أ / محمد صالح's post in مشكلة تظهر عند محاولة ترتيب الخانات ابجدياً was marked as the answer   
    يجب أن تكون جميع الخلايا في الجدول والعناوين غير مدمجة
  25. أ / محمد صالح's post in كيفة منع محرك البحث من اظهار اصدار المحمول عند الضغط على الرابط التشعبي في اكسل؟ was marked as the answer   
    لكل موقع طريقته في التصميم والبرمجة 
    فبعضها يضع m قبل الرابط للدلالة على إصدار الموبايل 
    مثل فيسبوك 
    https://m.facebook.com
    وبعضها يضع m=1 مثل blogger
    وبعضها يكتشف الجهاز ويعرض الإصدار المناسب دون تغيير في الرابط 
    بالتوفيق 
×
×
  • اضف...

Important Information