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

سليم حاصبيا

أوفيسنا
  • Posts

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

  • Days Won

    262

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

  1. جرب هذا الملف الكتابة فقط في الخلايا الخضراء لا لزوم لتغيير الشهر كل مرة يكفي اختيار الشهر من القائمة المنسدلة في الخلية R1 واكسل يدرج لك كل التواريخ للشهر المناسب Salim_dates.xlsx
  2. استبدل الى هذا الماكرو (يجمع كل الألوان ما عدا الابيض) Option Explicit Private Sub Cmd_sum_Click() Dim s#, Sh As Worksheet, x As Boolean For Each Sh In Worksheets x = Sh.Range("A1").Interior.ColorIndex <> xlNone s = s + IIf(x, IIf(IsNumeric(Sh.Range("A1")), _ Sh.Range("A1"), 0), 0) Next Me.My_lebl.Caption = IIf(s <> 0, s, "No Numbers") End Sub الملف من جديد User_form_1.xlsm
  3. هذا الماكرو Private Sub CommandButton2_Click() Sheets("sheet2").Range("A5").CurrentRegion.Clear Sheets("sheet1").Range("A5").CurrentRegion.Copy _ Sheets("sheet2").Range("A5") End Sub
  4. كان من المفروض رفع ملف الوقت ضيق جداً لإنشاء ملف يحتوي عما تريد لكن حيث انها المرة الاولى اليك هذا النموذج User_form.xlsm
  5. لم افهم هل ما هو موجود في العامود L هل هو تاريخ (اذا كان هذا فهو دائماً أكبر من صفر) و اذا اردته تاريخ قم بتنسيق الخلايا كتاريخ (ماذا تعني Jan-00)
  6. جربي هذا الكود Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("A1:j4")) Is Nothing Then _ Range("a5").Select End Sub الملف مرفق Protect_without_Protect.xlsm
  7. ممتاز اخي عبد الفتاح لكن لا بد من وضع شرط ان تكون الخاية C أكبر من تاريخ اليوم وان لا تكون فارغة والا سيظهر لك خطأ
  8. جرب هذا الكود Option Explicit Private Sub Workbook_Open() With Sheets("ورقة1") .Select If .Range("A1").CurrentRegion.Rows.Count = 1 Then Exit Sub .Range("A1").CurrentRegion.Offset(1). _ Resize(Range("A1").CurrentRegion.Rows.Count - 1) _ .Columns(4).Formula = _ "=IF(AND(C2>=TODAY(),C2<>""""),C2-TODAY(),"""")" .Range("A1").CurrentRegion.Value = _ .Range("A1").CurrentRegion.Value End With End Sub الملف مرفق Autodate.xlsm
  9. تم التعديل Sub Other_Macro() Range("A4").CurrentRegion.Sort Key1:=Range("C4"), _ Order1:=1, Key2:=Range("D4"), Order2:=1, Header:=1 End Sub
  10. بعد ازالة الضفوف الفارغة من الجدول (ضروري جداً حتى يعرف الاكسل اننا نتعامل مع جدول كامل ) جرب هذا الماكرو Sub Sort_me() Range("A4").Sort Key1:=Range("C4"), _ Order1:=xlDescending, Key1:=Range("d4"), _ Order2:=xlDescending, Header:=xlYes End Sub
  11. يكفي في معادلة العامود H من الملف الذي رفعته لك استبدال علامة الزائد"+" بعلامة الناقص "-" =F3*(1+VLOOKUP(D3,$J$2:$K$7,2)/100)
  12. لا يمكن تنفيذ معطيات اليوزر على صفحة اخرى اذا لم يكن لجميع الصفحات نفس التنسيق بالنسبة للجداول مثلاً الصفة الاولى تجتوى على جدول ِِ من A حتي D بينما الصفحات الباقية تحتوي عدة جداول يأعمدة مختلفة
  13. الحلفات التكرارية مرهقة جداً للبرنامج من الافضل الابتعاد عنها 1-الكومبو بوكس يذكر جميع الاسماء دون تكرار (دون ادراج عامود اضافي لترقيم الاسماء) العامود A الذي لا حاجة له (قمت باخفائه و ليس حذفه) 2- تم تصغير حجم اليوزر لتغطية أقل مساحة ممكنة من الشاشة 3- يمكنك العمل على الصفحة حتى ولو كان اليوزر ظاهراً اليك هذا الكود الذي يفعل لك ما تريد بالاضافة الى تلوين المعطيات التي تبحث عنها Option Explicit Private Sub ComboBox1_Change() Dim Sh As Worksheet, Find_Range As Range Dim my_rg As Range Dim My_sum#, x As Boolean, T#, ro% Dim k%: k = 0 Dim First_Address Set Sh = Sheets("توزيع الموظفين") Me.TextBox1 = "": Me.ListBox1.Clear ro = Sh.Cells(Rows.Count, 4).End(3).Row Set my_rg = Sh.Range("B1:B" & ro) Range("A2:D" & ro).Interior.ColorIndex = xlNone Set Find_Range = my_rg.Find(Me.ComboBox1, Lookat:=1) Do While Not Find_Range Is Nothing If Not x Then First_Address = Find_Range.Address x = True End If Range("A" & Find_Range.Row).Resize(, 4).Interior.ColorIndex = 35 T = IIf(IsNumeric(Range("D" & Find_Range.Row)), _ Range("D" & Find_Range.Row), 0) My_sum = My_sum + T With Me.ListBox1 .AddItem .List(k, 0) = Sh.Range("B" & Find_Range.Row) .List(k, 1) = T End With k = k + 1 Set Find_Range = my_rg.FindNext(Find_Range) If First_Address = Find_Range.Address Then Exit Do Loop Me.ListBox1.AddItem Me.ListBox1.List(k, 0) = "المجموع :" Me.ListBox1.List(k, 1) = My_sum Me.TextBox1 = My_sum End Sub '+++++++++++++++++++++++++++++++++++++++++ Private Sub UserForm_Initialize() Dim My_sh As Worksheet, lr Dim dic As Object, i% Set My_sh = Sheets("توزيع الموظفين") Set dic = CreateObject("Scripting.Dictionary") lr = My_sh.Cells(Rows.Count, 1).End(3).Row For i = 2 To lr dic(My_sh.Cells(i, 2).Value) = "" Next Me.ComboBox1.List = dic.keys Set dic = Nothing: Set My_sh = Nothing End Sub '+++++++++++++++++++++++++++++++ Private Sub UserForm_Terminate() Dim Sh As Worksheet, ro% Set Sh = Sheets("توزيع الموظفين") ro = Sh.Cells(Rows.Count, 4).End(3).Row Range("A2:D" & ro).Interior.ColorIndex = xlNone Set Sh = Nothing End Sub الملف مرفق SAlim_USER_FORM.xlsm
  14. جرب هذا الملف (نموذج عما تريد) مع امكانية تغيير مفدار الضريبة والحدين الافصى والادنى Taks.xlsx
  15. لا أعلم اذا كان هذا المطلوب بالضيط اذا غيرتي التاريخ لن يتغير شيء الا اذا اضفتي شيئاً الى اول خلية فارغة في العامود B (من القائمة النسدلة) عندها يضاف يوم واحد على التاريخ الجديد(في العامود الأول) مع الاحتفاظ بالقيم القديمة date_Salim.xlsm
  16. ل لم افهم شيئاً مما تقولين ارفعي ملف مفصل بما تريدين مع بعض البيانات (10 الى 15 صف لا اكثر)
  17. لقد قمتي بكتابة المعادلة في المكان الخطأ (قلت في B3 و ليس A3 ) جربي هذا الملف ( قومي بكتابة الرقم الذين تريدين في الخلايا F2 و F4 ) وسترين ما يحدث My_Dates.xlsm
  18. في الخلية B3 هذه المعادلة واسحبي نزولاً =MOD((ROWS($B$3:B3)-1),3)+1
  19. بعد اذن الأخ علي ممكن اي خلية أو عدة خلايا تكون مختلفة عن الغاء و بنفس الوقت لا تساوي اصدار - ملحق اضافه - ملحق مرتد مثلا أوفيسنا عندها لا نحصل على النتيجة المطلوبة افترج هذه المعادلة =SUMPRODUCT(($C$5:$C$956="اصدار")+($C$5:$C$956="ملحق اضافه")+($C$5:$C$956="ملحق مرتد"),$D$5:$D$956)
  20. انقلي بياناتك الى هذا الملف ( وقومي بتجربته) أو جربي ان تعدلي بعض البيانات فية وتري النتيجة اذا كانت كلها ممتازة استعمليه مكان الملف الذي تستعملينه صف الاسماء في الشيت Laho يأخذ ما يوجد في الشيت Menho أوتوماتيكياً لذلك لا يمكن كتابة شيء في صف الاسماء في شيت Laho تفادياً للخطأ Last_file.xlsm
  21. با أحتي قلت لك ضعي القليل من البيانات في الشيتات (التواريخ وتعبئة قليل من الصفوف )لمعرفة اين الخطأ و وضع اليد على الجرح انا عندي الملف يعمل بشكل جيد جداً وقد رفعته لك عدة مرات وفي كل مرة يتم التعديل عليه بدون ملف لا يحتوي على بيانات (10 صفوف على الأقل مع تواريح مختلفة) أعتذر عن المساعدة
  22. أخي علي أفضل اجابة من حقّك انت و قد قمت أنا شخصياً بوضعها لكن معادلتك على ما أظن تأتي بنتيجة واحدة (انا لم أجربها لكن أعتقد ان الدالة VLOOKUP تفعل هذا الشيء)
  23. بارك الله بك اخي أمين ربما يكون عدد الصفوف أكثر من 1000 صف فهل من المعقول ان تدرج معادلات مستقلة بعدد مرات وجود هده الكلمة "مجموع" هذا عدا عن عناء التفتيش على هذه الكلمة ومعرفة من اي صف الى اي صف سوف تكون عملية الجمع أو لنفرض مثلا ان تم تبديل مكان وجود كلمة "مجموع" عند ذلك سوف نقوم بالتعديل على كل المعادلات لذا يجب ادراج معادلة واحدة (ديناميكية) وتعميمها على كل الصفوف و اترك الامر للأكسل كي يجد لك كلمة "محموع" ويقوم بالواجب
×
×
  • اضف...

Important Information