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

سليم حاصبيا

أوفيسنا
  • Posts

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

  • Days Won

    262

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

  1. هذه الاشارة {} لا يجب كتابتها (اكسل يفعلها بنغسه) فقط عند الانتهاء من كتابة المعادلة اضغط (CTRL+SHIFT +ENTER)و ليس ENTER وحدها اصبعين تضغطان باستمرار على CTRL+SHIFT و ياليد الاخرى انقر ENTER ثم حرر CTRL+SHIFT
  2. هذا الماكرو سيقوم بالواجب Option Explicit Private Sub ComboBox1_Change() 'ComboBox1.DropDown Dim My_rg As Range: Set My_rg = Range("j11:J30") Dim c As Range Application.EnableEvents = False My_rg.EntireRow.Hidden = False For Each c In My_rg If c.Value = 0 And c.Offset(, -3).Value = 0 Then _ c.EntireRow.Hidden = True Next Application.EnableEvents = True End Sub
  3. جرب هذا الملف (يظهر بيانات العميل ولو كان له اكثر من حساب ليس فقط 2) وكل اسم تضيفه على الجدول يظهر في القائمة المنسدلة ولا مجال لتكراره في هذه الفائمة اذا تكرر في الجدول Salim_Prices.xlsx
  4. طبعاً الملف يجب ان يكون بطيئاً اذ انه يحتو ي غلى 5 أعمدة في كل واحد 1400 معادلة Array تقوم كل واحدة منها تقوم بفحص 5 أعمدة اخرى بنفس العدد من الصفوف(1400) في كل عامود ما مجموعه (1400*5*1400*5) اي حوالي 50 مليون معادلة انا وضعت هذه المعادلات للبيانات الصغبرة (لا تتجاوز 100 صف) لذلك اذا اردت العمل بسرعة يجب الاعتماد على advanced filter من خلال الماكرو اذا اردت راجع احر مشاركة لي على هذا العنوان https://www.officena.net/ib/topic/85372-ملف-اكسل-للبحث-بثلاثة-شروط/?tab=comments#comment-541538 و قم بتعديل الماكرو حسب المطلوب
  5. جسب ما فهمت من التوضيح ربما هذه المعادلة =IFERROR(IF(B3-B2=1,C2+1,B3),1) الملف مرفق series_salim.xls
  6. جرب هذه المعادلة =IF(ROWS($A$1:A1)<=MAX($B$2:$B$38),1,COUNTIF($B$2:B2,B2))
  7. لدينا جدول يحتوي على اسماء التلاميذ مع علاماتهم بشكل عامودي المطلوب تحويله الى جدول مطاطي مع جمع العلامات الملف الرفق بوضح كل شيء Tanspose_notes.xlsm
  8. المعادلة المطلوبة =IF(AND(G7>=$G$5,J7>=$J$5,M7>=$M$5,P7>=$P$5,S7>=$S$5,V7>=$V$5,Y7>=$Y$5,AB7>=$AB$5,AE7>=$AE$5),SUM(G7,J7,M7,P7,S7,V7,Y7,AB7,AE7),"")
  9. قم بالارشادات حسب الصورة اضغط فقط على الزر Run Salim_Dunia.xlsm
  10. اليوور فورم ليس من اختصاصي و انا لا أرغب العمل به اذا اردت يمكن عمل ذلك بواسطة الماكرو
  11. تم استبدال الملف ليعمل يشكل اسرع الماكرو Option Explicit Sub show_Only() If ActiveSheet.Name <> "ms" Then GoTo Leave_Me Application.ScreenUpdating = False Hide_alls Dim K%: K = Range("d1").Value Dim x% Dim T% Do x = Cells(15, K) If x <= 0 Then Exit Do If Cells(15, K) <= 31 And Cells(15, K) >= 28 Then T = T + 1 End If If T = 5 Then Exit Do Cells(15, K).EntireColumn.Hidden = False K = K - 1 Loop Leave_Me: Application.ScreenUpdating = True End Sub '================================ Sub Hide_alls() Range("g1:jy1").EntireColumn.Hidden = True End Sub '====================================== Sub Sow_alls() Range("g1:jy1").EntireColumn.Hidden = False End Sub الملف Show_hide.xlsm
  12. قمت بوضع هذا الملف لعلك تستفبد منه يجب فقط استكمال البيانات في الأعمدة الصف 15 (ليعمل يشكل صحيح) مراعاة المعادلات في الخلايا A1,D1,E1 و الجدول A16 :C22 اخفاء اعمدة استنادا لرقم_salim.xlsm
  13. ربما تفيد هذا المعادلة في تحديد عنوان الخلية التي يجب اخفاء عامودها المعادلة (Ctrl+Shift+Enter) =ADDRESS(1,MATCH($A$1&"*"&$B$3,$G$1:$X$1&"*"&$G$15:$X$15,0)+6) تم وضع النجمة للتفريق بين الارقام المتتالية مثلاً التاريخين (1 31 و 11 3) بدون النجمة يظهران 311 و 311 متساويان امام الدالة Match اما مع النجمة يظهران 1*31 و 11*3 (مختلفان)
  14. الورقة One Client من هذا الملف بسم _الله.xlsx
  15. ارفع نموذجاً عما تريد ربما كان هناك اكثر من تاريخ لكل زبون مثلاً سمير عليه 50 درهم في 15/3/2018 و 150 درهم في 5/7/2018 مجزوع ديونه 200 درهم و لكن أي التاريخين تريد على كل حال هذا الملف( الجديد المرفق) يوضح كل شيء DOUYOUN_W_dates.xlsx
  16. حرب هذا الكود Option Explicit Sub Salim_Transform() If ActiveSheet.Name <> "Data" Then Exit Sub Dim i%, k%: k = 3 Dim C%: C = 1 i = 1 Range("c3").CurrentRegion.Offset(1).ClearContents Do Until Range("A" & i) = vbNullString Cells(C + 1, k) = Range("A" & i) k = k + 1 If k = 6 Then C = C + 1: k = 3 i = i + 1 Loop End Sub الملف مرفق Salim_transforme.xlsm
  17. ورد خطأ بسيط في الملف السابق ارجو المعذرة اليك الكود الصحيح مع الملف المرفق الكود Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Or Target.Address = "$A$2" Then With Application .ScreenUpdating = False .EnableEvents = False End With Dim i%, t%, y% Dim eom As Date eom = Evaluate("EOMONTH(DATE($A$1,$A$2,1),0)") y = Day(eom) Columns("G:ak").Hidden = False ' hid_Vacance For i = 35 To 37 If Cells(14, i) = vbNullString Then Cells(1, i).EntireColumn.Hidden = True End If Next hid_Vacance For i = 7 To 37 If Cells(15, i).Columns.Hidden = True Or Cells(15, i) = Cells(3, 1) Then t = t + 1 End If Next Cells(5, 2) = y - t End If With Application Application.ScreenUpdating = True Application.EnableEvents = True End With End Sub '=============================================== Sub hid_Vacance() Application.EnableEvents = False Dim lraz%: lraz = Cells(Rows.Count, "AZ").End(3).Row Dim match%, x%, tt% Dim yes As Boolean For tt = 2 To lraz yes = IsError(Application.match(Range("AZ" & tt), Range("g14:aK14"), 0)) If Not yes Then x = Application.match(Range("AZ" & tt), Range("g14:aK14"), 0) + 6 Cells(14, x).EntireColumn.Hidden = True End If Next Application.EnableEvents = True End Sub الملف الجديد كشف Salim A3yad2 .xlsm
×
×
  • اضف...

Important Information