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

سليم حاصبيا

أوفيسنا
  • Posts

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

  • Days Won

    262

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

  1. في هذه الحالة انظر الى الصفحة SALIM من هذا الملف D salim1.xlsx
  2. يمكن ذلك من خلال حماية الشيت و عدم السماح بالكتابة بالخلايا التي تحتوي معادلات الملف مرفق ttt_salim.xlsx
  3. حيث انك لم ترفع ملفاً للعمل عليه اقترح هذه المعادلة في الملف المرفق text_Inverse.xlsm
  4. اضف هذه العبارة مباشرة بعد السطر For i=3 to c On Error Resume Next
  5. تم معالجة الامر test_salim_without repetition.xlsm
  6. تم معاجة الامر الكود يعمل بالطريقتين اخفاءيومي الجمعة والسبت _two_ways.xls
  7. ممكن هذا الماكرو يحل المشكلة Option Explicit Sub eliminat_dup() Dim xRg1, xRg2 As Range Dim k1%, k2%, i%, j% Dim Temp, m%, xx%: xx = 1 Dim c%, t%: t = [a11] c = Cells(1, Columns.Count).End(1).Column If c < 21 Then Exit Sub Set xRg1 = Cells(1, 21).CurrentRegion Set xRg2 = Cells(1, 21 + t + 1).CurrentRegion k1 = xRg1.Rows.Count: k2 = xRg2.Rows.Count '=============================== For i = 2 To k1 For j = 1 To t - 1 If xx >= k1 Then xx = 1 m = Application.CountIf(xRg1.Rows(i), xRg1.Cells(i, j)) If m > 1 Then Temp = xRg1.Cells(i, j) If (i + xx) < k1 \ 2 Then xRg1.Cells(i, j) = xRg1.Cells(i + xx, j) Else xx = 1 xRg1.Cells(i, j) = xRg1.Cells(i + xx, j) End If xRg1.Cells(i + xx, j) = Temp xx = xx + 1 End If Next Next xx = 1 '========================== For i = 2 To k2 For j = 1 To t - 1 If xx >= k2 Then xx = 1 m = Application.CountIf(xRg2.Rows(i), xRg2.Cells(i, j)) If m > 1 Then Temp = xRg2.Cells(i, j) If (i + xx) < k2 \ 2 Then xRg1.Cells(i, j) = xRg2.Cells(i + xx, j) Else xx = 1 xRg1.Cells(i, j) = xRg2.Cells(i + xx, j) End If xRg2.Cells(i + xx, j) = Temp xx = xx + 1 End If Next Next '============================== End Sub
  8. جرب هذا الماكرو Option Explicit Sub hid_for_me() Dim Arr(), i%, x% Dim c% Application.ScreenUpdating = False ActiveSheet.Columns.Hidden = False c = Cells(4, Columns.Count).End(1).Column Range(Cells(4, 2), Cells(4, c)).EntireColumn.Hidden = False ReDim Arr(1 To 2) Arr(1) = "الجمعة": Arr(2) = "السبت" For i = 2 To c x = IsError(Application.Match(Cells(4, i), Arr, 0)) If x = 0 Then Cells(4, i).EntireColumn.Hidden = True End If Next Erase Arr Application.ScreenUpdating = True End Sub '=========================================== Sub unhide_col() ActiveSheet.Columns.Hidden = False End Sub
  9. لا تأثير لاسم الملف على المعادلات فقط الاعمدة والصفوف
  10. ريما تنفع هذه المعادلة =IF(A2="","",INDEX({30;50;100},MATCH(A2,{30;50;100}))*B2) الملف الارقام salim.xlsx
  11. جرب هذه المعادلة ///تضع في الحلية F1 الرقم الذي تريده (10000 مثلاً)/// وتسحب نزولاُ =IF(H2>$F$1,(INT(H2/1000))*1000,$F$1) اما الشق الثاني من السؤال لم استطع فهمه الملف مرفق ضرب ارقام salim.xlsx
  12. استبدل ماكرو الزر بهذا Sub mm() Dim my_pas$ my_pass = Application.InputBox("Plese Enter Password", "Password") If my_pass <> "123" Then MsgBox ("I am sorry your password is wrong" & Chr(10) & "I can't oppen the user form" _ & Chr(10) & "I will exit") Exit Sub End If UserForm1.Show End Sub
  13. جرب هذا المعادلة =INDEX($D$3:$D$60,MATCH($F$5,$C$3:$C$60)+1) و اذا لم تعمل معك استبدل الفاصلة بفاصلة منقوطة لتصبح هكذا =INDEX($D$3:$D$60;MATCH($F$5;$C$3:$C$60)+1)
  14. ارفق الملف يالنتائج المتوقعة (يدوياً ) لافهم ما المطلوب تحديداً
  15. على اساس انها مساعدة سهلة في هذا الكود جرب هذا الملف الصفحة salim_two Random_list 7.xlsm
  16. ربما كان المطلوب test salim (2).xlsx
  17. جرب هذا الملف الماكرو Option Explicit Sub MergeSameCell() Dim Rng As Range Dim cel As Range Dim xRows As Integer Dim i%, j% Set cel = Range("g3:g6") Application.ScreenUpdating = False Application.DisplayAlerts = False xRows = cel.Rows.Count For Each Rng In cel.Columns For i = 1 To xRows - 1 For j = i + 1 To xRows If Rng.Cells(i, 1).Value <> Rng.Cells(j, 1).Value Then Exit For End If Next cel.Parent.Range(Rng.Cells(i, 1), Rng.Cells(j - 1, 1)).Merge i = j - 1 Next Next Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub مسألة3 salim.xlsm
  18. جرب هذا الملف صفحة salim Random_list 6.xlsm
  19. للعمل على المستوى الافقي (معادلة واحدة تكفي و ليس 30) تسحب يساراً =IF(COLUMNS($B4:B4)>DAY(EOMONTH(DATE($F$2,$F$1,1),0)),"",DATE($F$2,$F$1,COLUMNS($B4:B4))) طبعاً مع تبديل الفاصلة اذا اقتضى الامر
×
×
  • اضف...

Important Information