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

سليم حاصبيا

أوفيسنا
  • Posts

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

  • Days Won

    262

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

  1. للمعلومات فقط الدالة VLOKKUP تعمل في اي جدول دائماً من اليمين الى اليسار للغة العربية والعكس للغة الاجنبية و يجب ان يكون عمود البحث هو العامود الاول من الجدول لذلك لا يمكن استعمالها في ملفك وضعت لك معادلة بديلة في الملف المرفق Book_salim.xlsx
  2. هذا الكود Option Explicit Sub Prin_For_Me() Dim laste_row%, i% Sheets("الاشعار").PageSetup.PrintArea = Range("B2:I33").Address With Sheets("البيانات") laste_row = .Cells(Rows.Count, 2).End(3).Row For i = 2 To laste_row If .Cells(i, 2) <> vbNullString Then Sheets("الاشعار").Cells(14, "c") = .Cells(i, 2) Sheets("الاشعار").Cells(24, "G") = .Cells(i, 3) 'اختر ما تريد 'معابنة أو طباعة او الاثنين معاًهنا 'و ذلك بازالة الفاصلة العليا من جانب السطر المطلوب ' Sheets("الاشعار").PrintPreview ' Sheets("الاشعار").PrintOut End If Next End With End Sub
  3. الخاصية Print preview لبست من خصائص Range بل هي من خصائص الـــ Sheet لذلك يجب كتابة الكود بهذا الشكل Sub Print_Preview() With Sheets("Report4") .PageSetup.PrintArea = Range("a1:i20").Address .PrintPreview End With End Sub
  4. انا اشتغلت غلى هذا الشيء فقط تغير الاشهر والتواريخ
  5. طريقة جيدة اذا كان لدى السائل اوفيس 2016
  6. انظر الى هذا الملف لتعرف كيف يكون جدول اكسل في الصفحة الاولى الجدول خطأ في الصفحة الثانية كيف تكون بنية الجدول الصحيح قبل الجدول وبعده / الى يمينه أو يساره / ادمج ما طاب لك من الخلايا How excel Know table.xlsx
  7. لتحل المشكلة وادراج معادلة يحب ازالة دمج الخلايا المعادلات في اكسل لا تتعامل بشكل صحيح مع الخلايا المدمجة
  8. =ABS((MINUTE(MOD((SUBSTITUTE(SUBSTITUTE(A2," م","")," ص","")*1),1)))-(MINUTE(MOD((SUBSTITUTE(SUBSTITUTE(B2," م","")," ص","")*1),1)))) الملف tim_calculation1.xlsx
  9. كيف العمل مع جداول فارغة ضع قليل من البيانات و لو حتى 10 صفوف مع كتابة النتائج المتوقعة (يدوياً)
  10. Try This file CODE Sub Give_Date() Dim Start_Date As Date Start_Date = DateSerial([b5], [b4], 1) Dim My_date As Date My_date = Start_Date Dim Dict As Object, x% On Error GoTo Wrong_data Set Dict = CreateObject("Scripting.Dictionary") Range("G8:AH10") = vbNullString With Dict Do Until Month(My_date) <> [b4] If Weekday(My_date) <= 5 Then .Add My_date, "" End If My_date = My_date + 1 x = .Count Loop End With With Range("G8") .Resize(, x) = Dict.keys .Offset(1).Resize(, x) = "Primary" .Offset(, x) = "Total" End With Dict.RemoveAll: Set Dict = Nothing Exit Sub Wrong_data: MsgBox "Wrong_data:" & Chr(10) & _ "Check the value Of $B$4 (Must be an integer between 1 and 12)" & Chr(10) & _ "$B$5 (Must be an integer>1900)", 1048540, "Salim Tell You" End Sub file included Daily Sales.xlsm
  11. ربما يكون هذا الملف احدث قليلاً Akssat.xlsm
  12. اعتقد انه يحب ادراج الجدول بهذا الشكل دون معادلات كبيرة makhzan_2019.xlsx
  13. ربما يكون الحل tim_calculation.xlsx
  14. ممكن هذا الملف هو المطلوب False_V LOOK UP.xlsx
  15. اذا كان ما فهمته صحيحاً هذا المطلوب Cashout.xlsm
  16. عندنا قائمة (في العامود الاول ) لمجموعة اسماء لاشخاص ممكن ان تكون مكررة المطلوب اختيار عدد معين منها (تختاره بنفسك) ودون تكرار بطريقة عشوائية الكود Option Explicit '+++++++++++++++++++++++++++++ Sub choos_randomly() Dim i%, rd%, x%, _ k%, y%, Lr% Dim My_list As Object If ActiveSheet.Name <> "Salim" Then Exit Sub Set My_list = CreateObject("System.Collections.ArrayList") Lr = Cells(Rows.Count, 1).End(3).Row If Lr < 2 Then Exit Sub Range("c2", Range("c1").End(4)).ClearContents '=============================== If [g2] <= 0 Or Not IsNumeric([g2]) Then MsgBox "You Choose a NEGATIVE Number ,Or ZER0 or Empty CELL" & Chr(10) & _ "I Can't Help You", 1048640 Exit Sub Else [g2] = Int([g2]) End If '===================== With My_list For i = 2 To Lr If Not .Contains(Range("a" & i).Value) Then .Add Range("a" & i).Value End If Next y = .Count .Clear End With If [g2] > y Then MsgBox "You Choose an Impossible number" & Chr(10) & _ " Please Enter a Number <= than " & y, 1048640 [g2] = vbNullString Exit Sub End If '====================== k = 0 With My_list Do Until k = [g2] If k = y Then Exit Do x = (Lr) * Rnd: If x < 2 Then x = 2 If Not .Contains(Range("a" & x).Value) Then .Add Range("a" & x).Value k = k + 1 End If Loop Range("c2").Resize(.Count) _ = Application.Transpose(.toarray) .Clear End With End Sub الملف مرفق Choose N_Presons from _M.xlsm
  17. يمكنك حذفه اذا اردت انا وضعته للتحقق من نتيجة المعادلات دون ان اذهب الى الصفحة الثانية لمعاينة الخلايا هناك او يمكنك وضع كلمة Rem أمام كل سطر منه لتعطيله عن العمل ليبدو هكذا Rem.Range("f:f").Clear Rem.Range("f1") = "Values in sheet A" Rem.Range("f1").Interior.ColorIndex = 6 Rem.Range("g:g").ClearContents Rem.Range("g1").Resize(Last_row).Value = _ Sheets("A").Range("a1").Resize(Last_row).Value
  18. ربما تعني هذا الشيء (اذا أضفت أو حذفت صفوفاً في الصفحة B اخرج من الصفحة ثم عد اليها لتضبط المعادلات) Sum_with_rows_added.xlsm
  19. لمعالجة هذا الأمر ثبت العامود A لتصبح المعادلة هكذا =IF(SUM($A1,A!$A1)=0,"",SUM($A1,A!$A1)) الفرق للمعادله الخاصه بك عن المعادله البسيطه الفرق ان الدالة SUM تتجاهل النصوص و الفراغات انظر الى هذا الملف للمزيد من المعلومات False_Sum.xlsx
  20. المعادلة الصحيحة =IF(SUM(A1,A!A1)=0,"",SUM(A1,A!A1))
  21. اذا كانت لا توجد يمكن اختراعها Function Salim_First_Letter(st As String) Dim i% Dim my_text$: my_text = Left(st, 1) Dim arr: arr = Split(st) For i = 1 To UBound(arr) my_text = my_text & " " & Left(arr(i), 1) Next Salim_First_Letter = my_text End Function First_Letters.xlsm
  22. جرب هذا الماكرو عدد 2 تصحيح المعادلات بالعامود D واحد للتوزيع على الصفحات والثاني للتقرير بالمبيعات حسب التاريخ مع المجموع Option Explicit Sub Get_sales() Dim i%, k%, x% Dim s# Dim arr, st$ Dim arr_Store_Name() Dim Obj As Object Set Obj = CreateObject("system.collections.arraylist") Dim r%: r = Sheets("Cashout").Range("a1").CurrentRegion.Columns(1).Cells.Count Sheets("المبيعات اليومية").Range("a2:c500").ClearContents With Obj For i = 2 To r If Not .contains(Sheets("Cashout").Range("a" & i).Value2) Then .Add Sheets("Cashout").Range("a" & i).Value2 End If arr = .toarray Next End With Sheets("المبيعات اليومية").Range("a2").Resize(UBound(arr) + 1) = Application.Transpose(arr) Obj.Clear With Sheets("المبيعات اليومية") k = Sheets("المبيعات اليومية").Range("a1").CurrentRegion.Columns(1).Cells.Count For i = 2 To k For x = 2 To r If .Cells(i, 1) = Sheets("Cashout").Cells(x, 1) Then st = Sheets("Cashout").Cells(x, 2) .Cells(i, 2) = .Cells(i, 2) & "," & st s = s + Sheets("Cashout").Cells(x, 3) End If Next .Cells(i, 2) = Right(.Cells(i, 2), Len(.Cells(i, 2)) - 1) .Cells(i, 3) = s st = "": s = 0 Next End With End Sub Option Explicit Rem======================================= Sub SALIM() Application.ScreenUpdating = False Dim i%, k Dim Main_sh As Worksheet Dim My_table As Range Dim mY_sh As Worksheet Set Main_sh = Sheets("Cashout") Set My_table = Main_sh.Range("a1").CurrentRegion For i = 1 To Sheets.Count On Error Resume Next k = CInt(Sheets(i).Name) If Not IsEmpty(k) Then Set mY_sh = Sheets(i) With mY_sh .Cells.Clear .Range("z1") = "Store Name" .Range("z2") = k My_table.AdvancedFilter Action:=2, CriteriaRange:=.Range("Z1:Z2"), CopyToRange:=.Range("A1") .Range("Z1:Z2").Clear End With k = Empty End If Next Application.ScreenUpdating = True End Sub الملف مرفق Salim By symbols2.xls
  23. أخي أحمد هناك دالة في الاكسل لهذا الغرض ولا لزوم لل Vlookup (Rept(text,number_times تكفي هذا المعادلة =REPT("*",A2)
×
×
  • اضف...

Important Information