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

أ / محمد صالح

أوفيسنا
  • Posts

    4470
  • تاريخ الانضمام

  • Days Won

    196

كل منشورات العضو أ / محمد صالح

  1. تم تحديث الكود السابق بحيث لا يعمل إلا إذا كان التعديل في خلية واحدة بالتوفيق
  2. المشكلة كانت في تكرار اسم الدالة في الموديولين وفي أحد النماذج وتحديد الجدول مصدر كل نموذج تفضل هذا التعديل MAS_CHARVAL بطريقتين.accdb
  3. إذا عمل معك ملفي فالخطأ في عملية تعديل المعادلة بتغيير أسماء الدوال في أماكنها رغم أن الترجمة صحيحة
  4. لا أدري ما المشكلة عندك يفترض أنه بعد تعديل المعادلة بوضع أسماء الدوال الفرنسية أن تعمل هذا ملفك بعد تعديل عمودين Classeur1.xlsx
  5. جرب استعمال هذ الكود في حدث عند تغيير محتوى الخلية Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count = 1 And Target.Column = 1 Then If Target.Value <> "" Then If Not Sheets("الارشيف").Range("a:a").Find("*" & Target & "*") Is Nothing Then If MsgBox("هذا الكود موجود. هل تريد إدخاله؟", 292, "انتبه") = vbNo Then Target.Select: Target.Value = "" End If: End If: End If: End If End Sub ولا تنس حفظ الملف بامتداد يدعم الكود مثل xlsb بالتوفيق
  6. يوجد 3 دوال iferror index match استعمل اسمهم باللغة الفرنسية في نفس مكانهم
  7. يمكنك استعمال المعادلة التالية في الخلية F12 في شيت DRO (2) =IFERROR(INDEX('082021'!B$3:B$107,MATCH($E12,'082021'!$A$3:$A$107,0)),"") مع سجبها لأسفل لنسخ المعادلة وبالنسبة لباقي الأعمدة تحتاج فقط لتغيير حرف العمود مكان B مرتين في هذا الجزء B$3:B$107 بالتوفيق
  8. نفس فكرة الأولى إذا فهمت الكود الأول تستطيع بإذن الله أن تصل للكود الثاني
  9. بإذن الله هذ الكود يقوم بهذا الترتيب Sub mas_order() For n1 = 1 To 10 Range("a" & n1 * 8 - 4).Value = n1 For n2 = 1 To 3 Range("b" & n1 * 8 - 4 + n2 * 2).Value = n2 * 1000 - 1000 + n1 Next n2: Next n1 MsgBox "Done" End Sub مع إمكانية التحكم في نهاية الترقيم في العمود A بنهاية المتغير n1 في الحلقة التكراربة (حاليا 10) بالتوفيق
  10. إن شاء الله تفيدك هذه المعادلات البسيطة حساب تاريخ المعاش.xlsx
  11. نعم بناء على اقتراح الصديق أبي خليل ويوجد فيه مواضيع احترافية عالية المستوى رجاء المشاركة من جميع الخبراء
  12. حضرتك جاوبت عن التالي ولم تجب عن التالي
  13. أخي الكريم الكود لا يحدد الملف مصدر الأرقام والرسائل الكود يقرأ محتويات الصف السادس حتى الصف 55 في العمود 8 الذي اسمه H والعمود 9 والذي اسمه I من الشيت النشط وبالنسبة لعدم وصول نص الرسالة كاملا تم التغلب عليها بكتابة نص الرسالة في مربع الارسال تلقائيا وعدم إرسالها في الرابط Sub WhatsApp() Dim Contact As String, Message As String Dim n As Long For n = 6 To 7 Contact = Cells(n, 8).Value Message = Cells(n, 9).Value If Contact <> 0 And Message <> "" Then Shell "explorer ""whatsapp://send?phone=" & Contact & """", vbNormalFocus Application.Wait Now() + TimeSerial(0, 0, 5) SendKeys Message Application.Wait Now() + TimeSerial(0, 0, 3) SendKeys "~" Application.Wait Now() + TimeSerial(0, 0, 3) End If Next n MsgBox "Done!" End Sub لاحظ تم حذف المتغير message من رابط الإرسال وكتابته عن طريق الأمر sendkeys وبالنسبة لاحتمالية عدم وجود رقم تم وضع شرط عدم فراغ خلية الرسالة وعدم وجود صفر فقط في خلية الرقم بالتوفيق
  14. رغم أن هذا المطلوب مختلف تماما عن المطلوب الأول ولكن نكمل بإذن الله الفهم أولا حتى نصل للمطلوب من خلال الإجابة عن الاستفسارات التالية ما الذي يدل في جداول البنود على أنها تخص الشهر الأول؟ جميع التواريخ مربوطة ب B5 & C5 حتى عدد الأيام على المدة كلها وما الفرق بين عدد الأيام والأيام الكلية؟ لماذا المعادلة في E5 تساوي E4 أليس المفترض أن تكون حاصل طرح التاريخين؟ لماذا بدأت جداول البنود من الصف 37 ألا يمكن أن تبدأ من الصف 1 ؟ بالتوفيق
  15. إذا كان برنامج واتس اب للكمبيوتر مثبتا على جهازك يمكنك استخدام هذا الكود Shell "explorer.exe ""whatsapp://send?phone=" & mynumber & "&text=" & mymessage & """", vbNormalFocus حيث mynumber متغير يحمل الرقم مع مفتاح الدولة ومتغير mymessage يحمل نص الرسالة هذا أفضل من هيبرلينك بإذن الله
  16. لابد أن يكون برنامج واتس اب للكمبيوتر مثبتا على جهازك
  17. ما حذفت أية بنود بل كررت رقم 1 في 8 خلايا أسفله هل تقصد تكرار ال 10 أعمدة من B إلى K أفقيا 37 مرة ؟ مع تغيير رقم البند في كل شهر ؟
  18. شكرا لكلماتك الطيبة معادلتي السابقة تحقق مطلوبك الأول ومطلوبك الثاني تحققه المعادلة الموجودة في نفس المشاركة لا أدري ما المشكلة معك ؟
  19. يفضل إرفاق الملفات في الموضوع
  20. أشك انك نسخت الزر من الملف الأول للملف الثانى
  21. يمكنك استعمال المعادلة التالية في الخلية I6 =IF(B6<>"",TEXT(B6,"mmmm"),"") ويمكنك سحبها لأسفل بالتوفيق
  22. يبدو أن الكود بعد التعديل الأخير قد عمل معك Sub WhatsApp() Dim Contact As String, Message As String Dim n As Long For n = 6 To 7 Contact = Cells(n, 8).Value Message = Cells(n, 9).Value Shell "explorer ""whatsapp://send?phone=" & Contact & "&text=" & Message & """", vbNormalFocus Application.Wait Now() + TimeSerial(0, 0, 5) SendKeys "~" Next n MsgBox "Done!" End Sub الذي يهمنا لنجاح التجربة في أي ملف هو هذا السطر For n = 6 To 7 الذي يحدد صفز البداية والنهاية لقائمة الأرقام والرسائل وهذين السطرين Contact = Cells(n, 8).Value Message = Cells(n, 9).Value وهما المتغير contact وفيه الرقم وهو في العمود الثامن H لنفس الصف والمتغير message وهو في العمود التاسع I لنفس الصف فإذا اختلف صف البداية والنهاية عن 6 و 7 يتم تغييره وإذا اختلف عمود الرقم يتم تغييره وإذا اختلف عمود الرسالة في الملف الجديد يتم تغيير رقم 9 في متغيره بالتوفيق
  23. جرب هذه المعادلة بتغيير بسيط على معادلة أ / علي =IF(COUNTIFS($B$2:$B$200,B2,$C$2:$C$200,C2)>1,"OK","") بالتوفيق data search1.xlsx
  24. هذه هي المعادلة التي في بالي أ/ علي countifs لكن أردت التأكد من المطلوب أولا
  25. مع تكرار أسماء الشركات والمخازن سيمتلئ العمود D بكلمة OK ما عدا المخزن والشركة التي لم تتكرر هل هذا هو المطلوب ¿
×
×
  • اضف...

Important Information