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

shreif mohamed

03 عضو مميز
  • Posts

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

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

  • Days Won

    1

كل منشورات العضو shreif mohamed

  1. جرب هذا الكود في موديول منفصل وقم باستدعائه Option Explicit Sub do_it() Dim a, b, c, d, e As Long Dim rng1, rng2, rng3 As Range Dim row, cell As Range Set rng2 = Range("i12").CurrentRegion rng2.Offset(1, 1).ClearContents a = Range("a1").CurrentRegion.Columns.Count / 8 Set rng1 = Range("a3", Range("A" & Rows.Count).End(xlUp)).Resize(, 8) For b = 1 To a Select Case b Case Is > 1 Set rng1 = rng1.Offset(, 8) rng1.Select For Each row In rng1.Rows If Application.WorksheetFunction.CountIf(row, "EXM") > 0 Then rng2.Find(row.Cells(1)).Offset(, 1).Select Selection = Selection + Application.WorksheetFunction.CountIf(row, "EXM") End If If Application.WorksheetFunction.CountIf(row, "VIC") > 0 Then rng2.Find(row.Cells(1)).Offset(, 2).Select Selection = Selection + Application.WorksheetFunction.CountIf(row, "VIC") End If If Application.WorksheetFunction.CountIf(row, "SICK") > 0 Then rng2.Find(row.Cells(1)).Offset(, 3).Select Selection = Selection + Application.WorksheetFunction.CountIf(row, "SICK") End If Next Case Is = 1 For Each row In rng1.Rows If Application.WorksheetFunction.CountIf(row, "EXM") > 0 Then rng2.Find(row.Cells(1)).Offset(, 1).Select Selection = Selection + Application.WorksheetFunction.CountIf(row, "EXM") End If If Application.WorksheetFunction.CountIf(row, "VIC") > 0 Then rng2.Find(row.Cells(1)).Offset(, 2).Select Selection = Selection + Application.WorksheetFunction.CountIf(row, "VIC") End If If Application.WorksheetFunction.CountIf(row, "SICK") > 0 Then rng2.Find(row.Cells(1)).Offset(, 3).Select Selection = Selection + Application.WorksheetFunction.CountIf(row, "SICK") End If Next End Select Next End Sub D.xlsm
  2. النقطة تتواجد في منطقة واحدة اما في اول الرقم او اخره او اي مكان اخر وهذا كان المطلوب من الاخ صاحب الموضوع وما ارفقته يوجد به نقتطان لذا ان تعمل المعادلة ولمعالجة النقتطان يمكنك استخدام الماكرو المرفق من الاخ سليم وشكرا
  3. المعادلة تعمل معي وبكفائة حسب ماهو مطلوب وماوضحه الاخ Mory Ali في طلبه وهو ان تواجدت نقطة في اخر او اول الرقم يتم حذف النقطة اما ان تواجدت في المنتصف تترك كما هي ومرفق لك المعادلة داخل ملف العمل بعد اذن الاخ سليم يفضل العمل من خلال الماكرو لمثل هذا العدد من الصفوف لذا انصحك باستخدام الماكرو TEST Salim.xlsx
  4. يمكنك وضع المعادلة التالية في الخلية b1 ثم السحب لاسفل =IF(ISBLANK($A1),"",IF((RIGHT($A1,1)="."),REPLACE($A1,LEN($A1),1,""),IF((LEFT($A1,1)="."),REPLACE($A1,1,1,""),$A1)))
  5. الكود يعمل بصورة طبيعية هل يمكن اضافة الملف الخاص بك حتي يتثني لنا المساعدة
  6. وعليكم السلام تفضل قم بالضغط علي زر print_all الحد الأقصى نهائي معدل 2018.xlsm
  7. العمل من خلال المصفوفات هو بطبيعة الحال اسرع بكثير من الكود الذي ارفقته ويظهر ذللك جليا مع كبر حجم البيانات اشكرك احي سليم علي إثراء الموضوع وطرح حلول مفيدة
  8. وعليكم السلام تفضل اخي ، واعلم ان الماكرو يعمل علي التنسيق الشرطي المسبق واسماء الشيتات كما هو مرفق فلا تقم باعاادة تسمية الشيتات واتركها كما هي حتي يعمل الماكرو بكفائة استدعاء بشروط.xlsm
  9. وعليكم السلام اخي قم بسحب المعادلات لاسفل وستحل المشكلة معك
  10. يمكنك اضافة عمود جديد واستخدام الدالة =rand() سوف تقوم بملء ارقام عشوائية ثم بعد ذلك قم بترتيب القيم تصاعديا او تنازليا كما هو الحالف في المرفق واعد كتابة المعادلة في كل مره وهناك اضافة هي حقا رائعة تلبي احتياجك اداه تسمي kutools قبل عملها اغلق كل ملفات الاكسل المفتوحة ثم نصب الاداة ثم قم بفتح ملفك واختر الخلايا المراد عمل ترتيب عشوائي لها ومن تبويب kutools اختر range - sort range randomly - cells in each column ستقوم بعمل المطلوب تحميل الاداة من اللينك اسفله https://d2d42mpnbqmzj3.cloudfront.net/downloads/KutoolsforExcelSetup.exe
  11. ينمكنك استخدام المعادلة الاتية =RANDBETWEEN(1,3) وتغيير الرقم 3 الي ماتريد
  12. =IF($E3="كابينات",INDEX(التفاصيل!$N:$N,MATCH('المعلومات '!$G3,التفاصيل!$M:$M,0)),IFERROR(J3*I3,"")) كابينات.xlsm
  13. ممكن توضح طلبك داخل شيت الاكسل كما فعلت سابقا
  14. وعليكم السلام جرب المعادلة الاتية =IFERROR(IF(OR($E2="ابواب",$E2="كورين",$E2="كوارتز"),IFERROR(J2*I2,""),IF($E2="كابينات",INDEX(التفاصيل!$N:$N,MATCH('المعلومات '!$G2,التفاصيل!$M:$M,0)))),"")
  15. عزرا اخي لم افهمك جيدا هل تقصد ان القائمة المنسدلة في شيت التفاصيل لا تعرض جميع ارقام الكبائن في شيت البيانات ؟ اذا كان ذلك هو المقصود يجب تعديل المعادلة في data validation بشيت التفاصيل الي =OFFSET(البيانات!B21,0,0,COUNTA(البيانات!B:B),1)
  16. وعليكم السلام من فضلك ارفق ملف العمل حتي يتثني لنا فهم المطلوب بشكل افضل
  17. اذا كنت تقصد الاتيان بالاجمالي لرقم الكابينة فقم بتصحيح المعادلة في b2 الي التالي =VLOOKUP($A2,البيانات!$B$2:$L$207,11,FALSE) ثم قم بالسحب لاسفل
×
×
  • اضف...

Important Information