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

سليم حاصبيا

أوفيسنا
  • Posts

    8,723
  • تاريخ الانضمام

  • Days Won

    262

كل منشورات العضو سليم حاصبيا

  1. بعد اذن اخي بن علية هذا الكود Sub translate_data() Dim My_Rg As Range Dim r% Set My_Rg = Sheets(1).Range("c11").CurrentRegion r = My_Rg.Rows.Count Set My_Rg = My_Rg.Offset(4, 0).Resize(r - 4) Sheets(2).Range("a2").Resize(r - 4, 1).Value = My_Rg.Columns(1).Value Sheets(2).Range("e2").Resize(r - 4, 4).Value = My_Rg.Columns(2).Resize(r - 4, 4).Value End Sub
  2. ارفع قليلاً من البيانات في الجداول للعمل عليها ومعرفة من اي ورقة تريد استخراج المعلومات عشرة اسماء كافية لوضع الماكرو
  3. ارفع ملفاً صغيراً وهمياً عما تريد(جوالي 10 صفوف) لا يجوز العمل على التخمين
  4. اكتب في الشيت الثاني الاسم وهو يظهر في الشيت الاول اذا لم يكن موجوداً وتضاف الى حسابه الدفعة الاولى اما اذا كان موجوداً يضاف اليه المبلغ الذي دفعه في نفس الصف من الشيت الاول ,ويظهر مجموع ما تم دفعة في الخلية D2 من الشيت الثاني
  5. جرب هذا الملف كنموذج حساب العملاء Sheet1 المدفوعات ٍ Sheet2 Customer_Account.rar
  6. بعد اذن اخي زيزو هذا الكود باستعمال Advanced Filter انه اسرع و بدون حلقات تكرارية انظر الى الصفحة Salim استدعاء بين تاريخيين. Salim1.rar
  7. بالنسبة للطلب الاول هذا الملف انظر الى الصفحة الاخيرة Salim_Data.rar بالنسبة الى الطلب الثاني هذه المعادلة في الخلية E3 =IFERROR(INDEX(INDIRECT("'"&$D$3&"'!E:E"),MATCH(C3,INDIRECT("'"&$D$3&"'!B:B"),0)),"") الملف مرفق 222 salim_matador.rar
  8. جرب هذا الكود Option Explicit Sub Salim_Add_Sheets() Dim ERow01 As Long Dim arr_sheet(), my_name$ Dim x%, y$, How_Many%, k%, i% ERow01 = Sheets("all").Range("a3").CurrentRegion.Rows.Count On Error Resume Next k = 1 For i = 4 To ERow01 How_Many = Application.CountIf(Sheets("all").Range("b4" & ":b" & i), Sheets("all").Range("b" & i)) If How_Many = 1 Then ReDim Preserve arr_sheet(1 To k) arr_sheet(k) = Sheets("all").Range("b" & i) k = k + 1 End If Next For i = 1 To UBound(arr_sheet) my_name = Sheets(arr_sheet(i)).Name x = Len(my_name) If x = 0 Then Sheets("statment").Copy Before:=Sheets("statment") ActiveSheet.Name = arr_sheet(i) End If Next Erase arr_sheet End Sub
  9. اخي زيزو اسمخ لي بابداء ملاحظتين على الكود الذي قمت بوضعه 1- الحلقة التكراية لا لزوم لها لا نها نستغرق بعض الوقت لتنفيذ الكود كاملاً (حوالي 1000 صف يحب البحث فيها) 2- اذا كان ولا بد من الحلقة التكراية فعند العثور على الرقم المطلوب لا بد من الحروج من الحلقة باستعمال Exit For مباشرة قبل السطر End If (توفيراً للوقت)
×
×
  • اضف...

Important Information