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

نجوم المشاركات

  1. ياسر خليل أبو البراء

    ياسر خليل أبو البراء

    المشرفين السابقين


    • نقاط

      34

    • Posts

      13165


  2. ياسر العربى

    ياسر العربى

    الخبراء


    • نقاط

      8

    • Posts

      1510


  3. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      7

    • Posts

      8723


  4. omar elhosseini

    omar elhosseini

    المشرفين السابقين


    • نقاط

      7

    • Posts

      1950


Popular Content

Showing content with the highest reputation on 08/17/16 in مشاركات

  1. أخي الكريم الدهشوري قمت بالبحث عن الدالة المعرفة وقمت بعمل معادلة لتناسب طلبك .. أرجو أن يفي الملف المرفق بالغرض إن شاء الله Days Tafkeet.rar
    3 points
  2. بعد اذن الاخوة تفضل هذا الكود Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 3 Then On Error Resume Next Dim myrg As Range Set myrg = ورقة1.Range("A1:B100") Target.Offset(, 1).Value = "" Target.Offset(, 1).Value = Application.WorksheetFunction.VLookup(Target.Text, myrg, 2, 0) End If End Sub اما بخصوص كود اخي الغالي ابو البراء قم بتعديل من Sheet1 الى ورقة 1 داخل الكود حسب الموجود لديك
    3 points
  3. ياما في الجراب يا حاوي .. كله بفضل الله عزوجل .. لدي مكتبة تجميعية لعدد كبير من الأكواد أطوعها في تلبية الطلبات بحيث تلبي جميع الاحتياجات وافر تقديري واحترامي
    2 points
  4. وإثراءً للموضوع هذا كود آخر كنت قد جهزته وانتظرت أن يصل أخي وحبيبي سليم لخط النهاية قبلي .. الكود يوضع في موديول عادي Sub TransferData() Dim DictPerson As Object, DictSheet As Object, rng As Range, mtx(), isFound As Boolean Dim I As Long, v1 As Variant, v2 As Variant Application.ScreenUpdating = False Set rng = Sheets("Tafasil").Range("A1:O" & Sheets("Tafasil").Cells(Rows.Count, "O").End(xlUp).Row) mtx = rng.Value Set DictPerson = CreateObject("Scripting.Dictionary") For I = 2 To UBound(mtx, 1) If Not DictPerson.Exists(mtx(I, 15)) Then DictPerson.Add mtx(I, 15), mtx(I, 15) Next I Set DictSheet = CreateObject("Scripting.Dictionary") For I = 1 To Worksheets.Count If Not DictSheet.Exists(Worksheets(I).Name) Then DictSheet.Add Worksheets(I).Name, Worksheets(I).Name Next I DictSheet.Remove ("Tafasil") For Each v1 In DictPerson isFound = False For Each v2 In DictSheet If v1 = v2 Then isFound = True Exit For End If Next v2 If Not isFound Then If MsgBox(v1 & " Does Not Exist." & vbCrLf & "Create This Sheet ? ", vbOKCancel) = vbOK Then Worksheets.Add After:=Sheets("Tafasil") ActiveSheet.Name = v1 ActiveSheet.DisplayRightToLeft = True DictSheet.Add v1, v1 End If End If Next v1 For Each v1 In DictSheet Sheets(v1).Cells.Clear Sheets(v1).Range("A1").Resize(1, 4).Value = Array("الاسم", "الرقم", "الفرق", "الموقع") rng.AutoFilter field:=15, Criteria1:=v1 With rng.Offset(1) .Columns("A:B").SpecialCells(xlCellTypeVisible).Copy: Sheets(v1).Range("A2").PasteSpecial xlPasteValues .Columns(5).SpecialCells(xlCellTypeVisible).Copy: Sheets(v1).Range("C2").PasteSpecial xlPasteValues .Columns(15).SpecialCells(xlCellTypeVisible).Copy: Sheets(v1).Range("D2").PasteSpecial xlPasteValues End With With Sheets(v1) .Range("A1").CurrentRegion.Borders.Value = 1 .Range("A1").Resize(1, 4).Font.Bold = True .Cells.RowHeight = 19 .Cells.HorizontalAlignment = xlCenter: .Cells.VerticalAlignment = xlCenter .Columns(1).ColumnWidth = 18: .Columns("B:C").ColumnWidth = 10: .Columns(4).ColumnWidth = 13 End With Next v1 rng.AutoFilter Application.ScreenUpdating = True MsgBox "Done...", 64 End Sub تقبل تحياتي
    2 points
  5. بارك الله فيك أخي الغالي سليم كم أعشق حلولك الممتازة والرائعة تقبل وافر تقديري واحترامي
    2 points
  6. سؤال : هل أوراق العمل الموجودة سيتم إضافة بيانات لها أم أن العملية تتم مرة واحدة وفقط .. إذا كان الأمر كذلك فلما لا يكون مبدأ الكود إنشاء أوراق عمل جديدة ووضع البيانات بها
    2 points
  7. البساطة البساطة ياعيني عالبساطة شكرا أخ ياسر العربي كلامك صحيح , الحمدلله تم حل المشكلة كما ذكرت
    2 points
  8. الاخ صلاح الصغير شكرا لك اخي كلنا في خدمة الاخوة الاخ ياسر خليل أبو البراء سأحاول بأذن الله افضل داله في المجموعة والتي اعمل عليها دائما هي دالة ابو هاني AbuHani المثال رقم 11 او 13
    2 points
  9. أعتذر عن الخطأ الوارد بخصوص Sheet1 بدلاً من ورقة1 حيث أنني أعمل على ملف عندي ومسميات أوراق العمل باللغة الإنجليزية .. وأنا أفضل استخدام المسميات الإنجليزية في أسماء أوراق العمل البرمجية حتى لا يحدث لبس في الأكواد .. ربما تعودت على ذلك بخصوص الكود يعمل بشكل جيد لدي ولا أدري ما السبب في أنه لا يعمل لديك عموماً قدمت لك حلول أخرى اختر منها ما يناسبك وطبقه على ملفك ..
    2 points
  10. الاخ ياسر خليل أبو البراء المرفق ليس به جديد سوي الاضافة التي اشرت اليها اما ملف دالة التفقيط الخاصة بالأخ هادي لدي ملف مجمع للمجموعة كامله التفقيط ###.rar
    2 points
  11. مرحبا بعد إذن أخي ياسر يمكن ان نستعمل الدالة التالية في الخلية D2 ونسحبها للأسفل =IFERROR(VLOOKUP(C2;المسافة!$A$1:$B$500;2;0);"")
    2 points
  12. الاشكال عند اخي ابو عيد هل جربت تغير لغة الكتابة قبل ربط المربع النصى بخلية وتكتب داخل المربع النصي مثل كدا لو استجاب المربع للتغييرات يبقى ما فيه مشكلة اكتب باللغة اللي انت محتاجها وبعدها اربط المربع باي خليه وهو هيحتفظ باخر لغة تم اخالها له
    2 points
  13. وعليكم السلام أخي الكريم محمد جرب الكود التالي في حدث ورقة العمل المسماة "الجدول" كليك يمين على اسم ورقة العمل "الجدول" ثم اختر View Code والصق الكود التالي Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row > 2 And Target.Column = 3 Then Application.EnableEvents = False Dim iRow iRow = Application.Match(Target.Value, Sheet1.Columns(1), 0) If IsNumeric(iRow) Then Target.Offset(, 1).Value = Sheet1.Cells(iRow, "B").Value End If Application.EnableEvents = True End If End Sub تقبل تحياتي
    2 points
  14. البساطة مطلوبة والبطاطا مرغوبة !! مثل اليوم يا سيدي وايه التعقيد في تغيير الإعدادات الإقليمية .. يمكن المشكلة بيختلف حلها من نسخة أوفيس لأخرى أو من نسخة ويندوز لأخرى ...!! كل جهاز وله ظروفه !! مش كدا ولا ايه
    2 points
  15. بعد اذن اخي ابو البراء اخي ابو عيد قم بالغاء ارتباط المربع النصى وقم بالكتابة داخله هكذا 24 او لو الرقم موجود وعند الضغط عليه سيتحول تلقائي كما تريد ثم اعد ربط المربع النصي مرة اخرى بالخلية المطلوبة البساطة يااسيادنا هههههه
    2 points
  16. جميل ورائع أخي الحبيب سليم كمل جميلك .. عند عدم وجود ورقة عمل يتم إنشاء ورقة عمل جديدة ..هلا خيرت المستخدم إذا كان يريد ورقة العمل أم لا؟ وأمر آخر يتم نسخ كافة عناوين الحقول عند إنشاء ورقة عمل جديدة (لاحظ هذه النقطة) ملحوظة أخرى : إذا قمت بحذف كل أوراق العمل والإبقاء على الورقة الرئيسية ثم تنفيذ الكود لا يقوم بإنشاء أوراق العمل بشكل صحيح ويحدث خلل كبير .. تقبل وافر تقديري واحترامي
    2 points
  17. بارك الله فيك أخي سليم وجد حل عن طريق هذه الدالة =MOD(A1;1)=0 باستخدام طريقة التنسيق الشرطي وطبقتها على العامود A فقمت أولا بتنسيق العامود بالطريقة الطبيعية ووضع تنسيق عملة و 2 منزلة عشرية ومن ثم وضعت تنسيق شرطي عندما يتحقق هذا الشرط =MOD(A1;1)=0 يكون التنسيق عملة و0 عدد المنازل العشرية
    2 points
  18. مشكور اخي ياسر على هذه الملاحظة القيمة تم التعديل على الكود المذكور تم التعديل مرة اخرى بواسطة هذا الكود Sub CreateSheets() Dim ws As Worksheet Dim K As Range Dim ListSh As Range Application.ScreenUpdating = False With Worksheets("tafasil") Set ListSh = .Range("o2:o" & .Cells(.Rows.Count, "o").End(xlUp).Row) End With On Error Resume Next For Each K In ListSh Worksheets("tafasil").Activate If Len(Trim(K.Value)) > 0 Then y = Worksheets(Trim(K.Value)).Name t = Application.CountIf(Range("o2:o" & K.Row), Trim(K.Value)) If IsEmpty(y) And t = 1 Then Worksheets.add(After:=Worksheets(Worksheets.Count)).Name = K.Value ActiveSheet.Range("a1:d1") = Array("الاسم", "الرقم", "الفرق", "الموقع") '============================================ End If y = Empty End If Next K Application.ScreenUpdating = True Worksheets("tafasil").Select End Sub و تغيير مسح البيانات الى هذا الكود Sub del_data() For mh = 2 To Sheets.Count Sheets(mh).Range("A2:d5000").ClearContents Next Sheets("tafasil").Select Range("a2").Select End Sub و الكود النهائي الى هذا الكود Sub AddValues() Dim My_sheet As Worksheet Dim i As Single '============================= Application.ScreenUpdating = False CreateSheets answer = MsgBox("هل تريد مسح البيانات في الاوراق الباقية أولاً ", vbQuestion + vbYesNo + vbMsgBoxRtlReading) If answer = 6 Then del_data lr_MAIN = Sheets("tafasil").Cells(Rows.Count, 1).End(3).Row If lr_MAIN < 2 Then lr_MAIN = 2 For K = 2 To lr_MAIN '========================================== On Error Resume Next Set My_sheet = Sheets("" & Sheets("tafasil").Range("O" & K)) If Sheets("tafasil").Range("O" & K) = "" Then GoTo 1 '========================================== With My_sheet i = .Range("A" & Rows.Count).End(xlUp).Row + 1 .Range("A" & i) = Sheets("tafasil").Range("A" & K) .Range("b" & i) = Sheets("tafasil").Range("b" & K) .Range("c" & i) = Sheets("tafasil").Range("e" & K) .Range("d" & i) = Sheets("tafasil").Range("O" & K) .Range("a2").Select End With '========================================== 1: Next Application.ScreenUpdating = True Sheets("tafasil").Range("a1").Select End Sub ليصبح الشكل النهائي للملف هكذا الترحيل حسب الموقعsalim2.rar
    2 points
  19. السلام عليكم ورحمة الله أخواني الكرام وعلمائنا وأساتذتنا العباقرة في هذا الصرح العملاق والأكثر من رائع بعد إنتهاء ولله الحمد من برمجة برنامج شؤون الموظفين والمرتبات ونشره في الموقع منذ فترة وجيزة على هذا الرابط برنامج شؤون وإدارة الموظفين بحلته وشكله الجديد أحببت اليوم بعد طلبات من الاصدقاء أن أقوم برفع البرنامج مفتوح المصدر لكي تتم الفائدة منه في كافة النواحي العلمية والعملية وذلك من (خلال الكودات وطريقة التصميم) ماعليكم سوا فك الضغط عن الملف المرفق وتنصيب البرنامج بكل سهولة وفي الاخير تفعيل الماكرو يعمل البرنامج على كافة أنظمة ويندوز وكافة نسخ أوفيس من 2007 ومافوق لاتنسونا من الدعاء بظهر الغيب في هذه الايام المباركة الملف بامتداد zip هو الملف كاملا Office Soft.Employ & Salary-Source.zip Office Soft.Employ _ Salary-Source.rar
    1 point
  20. هذا البرنامج يتيح لك امكانيه علق قاعده البيانات ضد مفتاح شفت وعمل العكس هذا البرنامج هديه للاعضاء وشكراا البرنامج فى المرفقات
    1 point
  21. صحيح كان الاولى التجربة حتى نختصر الوقت والجهد تفضل اخي الحبيب Private Sub Form_BeforeInsert(Cancel As Integer) On Error Resume Next Dim xLast, xNext As Integer Dim prtyr, prtTxt As Integer prtyr = Right(DatePart("yyyy", Date), 2) prtTxt = CLng(Mid(DMax("ID", "tbl1"), 2, 2)) xLast = CLng(Right(DMax("ID", "tbl1", prtTxt = prtyr), 5)) If IsNull(xLast) Then xNext = 1 Else xNext = xLast + 1 End If Me!ID = "S" & prtyr & Format(xNext, "00000") End Sub ترقيم مع السنة وزيادة حرف.rar
    1 point
  22. عزيزى السائل اليك كرت دوام قمت بتنفيذه من خلال ما تعلمته من هذا الصرح العمـــلاق اتمنى ان يلبى طلبك ... وللعلم منقول ... مع بعض التعديل عليه -- عليك كتابة الشهر بهذة الطريقة 1/2/2016 سيتغير معك التاريخ واليوم للشهر كامل -- باسورد الخلايا 1234 كرت دوام.rar
    1 point
  23. شكرا يا زعيم انت دائما في الموعد ،، ربنا يبارك فيك.
    1 point
  24. هو انت فين مخبي الحاجات دي كلها
    1 point
  25. إن شاء الله تكون هذه الدالة المفضلة لديك هي نقطة البداية بحيث يتم التعديل عليها لتلبي كل الطلبات بهذا الخصوص لو قمت بعمل بحث عن موضوع التفقيط ستجد عشرات الموضوعات وعشرات الحلول والدوال المختلفة مما يؤدي إلى إرباك الأعضاء الجدد الذين يبحثون في هذا الخصوص لا حرمنا الله منك أبد الدهر وجزيت خير الجزاء على كل ما تقدمه معلمي الغالي تقبل تحياتي
    1 point
  26. مين الجراح اللي عمل العملية ؟؟ أكيد إنت !! أنا عطيتك المشرط وإنت قمت بالعملية .. تسلم يا دكتور زيزو
    1 point
  27. أستاذنا الفاضل / ياسر خليل أبو البراء أنا آسف جدااااااااااااااااااااااااا ..... يمكن مقصدش ..... ولا من طبيعتى أن أقوم بالرد عن طريق الإحباط ..... فأكرر اعتذاري للمرة الأولى والأخيرة لشخصكم الكريم + شخص أستاذنا الفاضل / زيزو العجوز آسف جداااااااااااااااااااااااااااا
    1 point
  28. ههههههههه الحمد لله ان تم المطلوب اخي ابو عيد شفت ياعم ابو البراء ان الكسل مفيد جدا حب الاختصار
    1 point
  29. جزاك الله كل خير ورزقك من حيث لا تحتسب الطريقة هذه جداً ممتازهـ وسوف تساعدني بإذن الله وراح أجربها بالعمل :)
    1 point
  30. ا / عمر ا / ياسر الف شكر علي ذوقك الرفيع، وصبرك على كثرة طلباتي الحمد لله الملف اصبح افضل مما كنت اتمني كل الشكر والامتنان لك وذادك الله علم
    1 point
  31. كلام جميل واقتراح ممتاز .. إذا استمرت المشكلة فيبدو أن هناك خلل في النسخة التي لديك أخي أبو عيد أو في نسخة الويندوز .. إن شاء الله يكون الاقتراح الأخير لأخونا الرائع والبسيط ياسر قد أدى الغرض
    1 point
  32. المعادلة ترجمها أخي ياسر العربي في مشاركته
    1 point
  33. السلام عليكم ورحمة الله اليك الحل باذن الله شيت كنترول الصف الثاني والثالث الإبتدائي.rar
    1 point
  34. الاخ ياسر خليل أبو البراء شكرا لك جل من لا يسهو الاخ صلاح الصغير شاهد المرفق Omaar_7.rar
    1 point
  35. تمام حتى لو فرضنا ان المستخدم سيقوم بادخال رقم يمثل الساعات فلا بد ان يدخل ضمنا معرف الموظف + تاريخ اليوم وما دمنا سنستخدم جدولا فرعيا مرتبطا بجدول الاسماء والعلاقة ستكون بين المعرفين فسيتم رصد المعرف آليا بمجرد الكتابة في الجدول الفرعي ويتبقى التاريخ الذي هو ايضا سنعمل على رصده آليا بعد ادخال الساعات المنقضية وهكذا ستكون الفلترة بناء على هذا التاريخ المدخل
    1 point
  36. ابو خليل جهاز الحضور موجود لكن الجهاز لا يحتسب الاجازات المؤقته لكن يحسب وقت دخول وخروج فقط للموظف ... اما الاجازات الزمنية فهذه تتم عن طريق الفورم الذي يقدمة الموظف عدد الساعات ووقت الخروج والرجوع.. دور الجهاز انه سوف يقرئ موعد خروج وعوده الموظف في الوقت المذكور وهل تأخر عن الموعد المذكور ام لا..
    1 point
  37. معذرة اخي محمد لم انتبه ان المسألة بحاجة الى تعديل آخر لاحظ السطر هذا الموجود في الكود xNext = Val(Mid(xLast, 3, 5)) + 1 فيه حاجة لازم تتغير في السطر اعلاه ، لأننا اضفنا حرفا الى الترقيم الذي هو حرف s فالرقم 3 يعني اننا سنبدأ العد من اليسار ابتداء من الحرف الثالث الى السابع ، ثم نضيف اليه واحد ولكن الحرف الثالث من اليسار في الكود الأصلي هو الرقم الذي يأتي بعد السنة ( التي هي رقمين ) ولكننا اضفنا حرف s قبل رقمي السنة لذا يجب ان نعدل الـرقم 3 الى 4 لكي نبدأ من الحرف ( او الرقم ) الرابع لذا يجب ان نعدل السطر المذكور ليصبح xNext = Val(Mid(xLast, 4, 5)) + 1 اعلم انه يكفيك الاشارة الى مكان الخلل ولكني تبسطت بالشرح لمن يأتي لاحقا
    1 point
  38. الاخ زياد777 شاهدالمرفق Omar_1.rar
    1 point
  39. لا مجال في هذا الموضوع إلا بتغيير الثيمات وقد قمت به بالفعل ... يمكن البحث عن موضوع يخص تظليل الصف بالكامل والعمود بالكامل للخلية النشطة .. قد يفيدك في النظر إلى ورقة العمل بشكل أيسر قم بالإطلاع على الرابط التالي عله يفيدك من هنا
    1 point
  40. جزاكم الله خيراً ولاحظ أنه بعد تنفيذ الكود إذا تم مسح النطاقات تظل الأوراق الأربعة محددة ..!! وسؤال خطر ببالي : ماذا لو كان العمود O يحتوي على قيم ليس لها أوراق عمل ؟؟!! .. ما هو المطوب في هذه الحالة : أن يتم تخطي القيمة وتجاهلها أم يتم إنشاء ورقة عمل جديدة وتنقل إليها البيانات؟ أم يتم تخيير المستخدم فيما بين الأمرين؟
    1 point
  41. جزيت خيراً أخي الكريم زياد على دعواتك الطيبة المباركة .. وإن كنت لا أحب تداخل الموضوعات (لأن الطلب لا يخص الموضوع الحالي) ولكني سأجيبك باختصار أنه يمكن وضع الكود في حدث تغيير ورقة العمل Worksheet_Change وليس حدث تحديد خلايا ورقة العمل Worksheet_SelectionChange ... إذا التبس عليك الأمر فقم بطرح الطلب في الموضوع الخاص به لكي لا يحدث تداخل ... المهم الآن أن الموضوع الحالي قد تم حله بعون الله ... تقبل تحياتي
    1 point
  42. السلام عليكم جرب الرفق حذف وتعديل اسم عميل.rar هل بهذه الطريقة
    1 point
  43. 1 point
  44. بارك الله فيك أخي العزيز جلال وجزاك الله خيراً .. ولأخونا رجب بمثل ذلك عسى أن يكون عدم دخوله للمنتدى خير إن شاء الله (افتقدناه كثيراً وافتقدنا روائعه)
    1 point
  45. السلام عليكم فورم لحفظ نسخة من الملف بامكانية تغيير اسم الملف والمسار يعمل على اكسل 2003-2007 افتراضيا يعطيك نفس مسار الملف مع نسخة بتاريخ اليوم واذا تكرر الخفظ يخفظ فوق النسخة المحفوظة لتاريخ اليوم اما اليوم الثاني ستكون لك نسخة اخرى بتاريخه وبعدين لك الحرية في كل الاستخدمات اذا لم تريد ذلك تغيير المسار تعيير الاسم كما تريد وفيه امكانيات ستعجبكم كثيرا هديتي لكم لان كنت مقلا معكم هذه الايام فورم لحفظ نسخة من الملف.rar
    1 point
  46. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته فورم للبحث في القرءان الكريم هدية للاخ / سيف الدين خاصة ويعتبر مساهمة مني في ملفه الرائع جزاه الله الف خير ودمتم في حفظ الله وسلامته تحياتي وسلامي اخوكم/ خبور Quran2.rar
    1 point
  47. السلام عليكم ممتاز اخي العزيز خبور و انا كملت نسخة مع اضافة الالغاء للصف ولكن برسالة تحذيريه وبه بعض الافكار جديدة من الافضل التجربه خالص تحياتي Dinamic_Lable_last.rar
    1 point
  48. السلام عليكم اخي المكرم / عادل ----------------حفظه الله من الافضل تسمية النطاق (kh_test_1) بعدد الاعمدة التي تشمله ( لم يتم تغييره في مرفقك) و تضيف متغير جديد في الكود بعدد الاعمدة في النطاق و تستخدم هذا المتغير بدلا من اضافة رقم للعمود في الكود ويصبح الكود ثابت ويتم فقط للاستخدام تحديد النطاق في الورقة مثلا : MyColumns = .Columns.Count اليك الكود : Private Sub Worksheet_Change(ByVal Target As range) Dim MyRows As Integer, MyColumns As Integer, MyRange As range, MyRange1 As range On Error GoTo 1 With range("kh_test_1") MyRows = .Rows.Count - 1 MyColumns = .Columns.Count Set MyRange = .range(cells(MyRows, 1), cells(MyRows, MyColumns)) If Not Intersect(Target.cells(1, 1), MyRange.cells) Is Nothing _ And Target.Value <> "" Then MyRange.EntireRow.Insert Set MyRange1 = .range(cells(MyRows, 1), cells(MyRows, MyColumns)) MyRange1.Value = MyRange.Value MyRange.ClearContents End If End With 1 End Sub ==================================================== و هناك اضافة جديدة لو تريدها في حالة اردت حذف صف معين تمسح بيانات خلية الاسم فيحذف الصف تلقائيا باستخدام هذا الكود: Private Sub Worksheet_Change(ByVal Target As Range) Dim MyRows As Integer, MyRange As Range, MyRange1 As Range, MyCells As Range On Error GoTo 1 With Range("kh_test_1") MyRows = .Rows.Count - 1 Set MyRange = .Range(Cells(MyRows, 1), Cells(MyRows, 4)) Set MyCells = .Range(Cells(1, 1), Cells(MyRows - 1, 1)) If Not Intersect(Target.Cells(1, 1), MyRange.Cells) Is Nothing _ And Target.Value <> "" Then MyRange.EntireRow.Insert Set MyRange1 = .Range(Cells(MyRows, 1), Cells(MyRows, 4)) MyRange1.Value = MyRange.Value MyRange.ClearContents End If End With If Not Intersect(Target.Cells(1, 1), MyCells.Cells) Is Nothing Then If Target.Value = "" Then Target.EntireRow.Delete End If 1 End Sub سارفق الملف لاحقا Dinamic_Lable1.rar
    1 point
  49. السلام عليكم اخي الحبيب خبور الكود الاخير بالفعل موجز و مرن اكثر بارك الله فيك رايت مشاركتك باكرا و لم اشأ الرد الا بعد تجهيز اضافه اخري الاضافه الجديده عباره عن توسيع او تكبير افقي للجدول وزي ما شرحت لك الكود الجديد وجدت به امكانيه زيادة الاعمده الي ما تشاء وهذه المرونه بالفعل ما ارجوه لهذا الجدول ان يكون عليه لذا قمت و بنفس الطريقة المرنه التي لا يشعر بها المستخدم الا للحظه فقط و قد لا يلحظها و هي اضافة زر لاخفاء الصفوف و اظهارها و عند الاخفاء يتم اظهار فقط الخليه التي بجب ان يضاف بها او يسجل بها مع تغير اسمه حسب الحاله اخفاء او اظهار و المرونه هنا هو ان الاخفاء سيتم بمرونه مع زيادة نطاق الجدول اي سيكون ليس ثابتا فلو كان هناك 1000 صف ستكون النتيجه كما كانت لو كنت تعمل علي خمس صفوف مثلا خالص تحياتي Dinamic_Lable.rar
    1 point
  50. أخي الحبيب / عادل أشكرك على الفكرة المتميزة وقد أوحت إلى بإضافات بسيطة في نفس الإطار مما يساعد على توسيع دائرة استخدامها في أمور أخرى أرجو أن تكون مفيدة . تحياتي أبو عبدالله _______________________________________________________________________________________________.rar
    1 point
×
×
  • اضف...

Important Information