2saad قام بنشر يوليو 11, 2023 قام بنشر يوليو 11, 2023 إخواني أعضاء المنتدي الكرام بعد التحية والسلامdana.xlsm محتاج كود لحذف كل الصفوف اللي فيها كلمة ( تعديل ) ولكم جزيل الشكر
علي بن علي قام بنشر يوليو 11, 2023 قام بنشر يوليو 11, 2023 على افتراض ان الشيت المطلوب حذف صفوفه هو sheet1 تفضل الكود Sub DeleteRows() Dim i As Integer For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1 If InStr(1, ActiveSheet.Cells(i, 1).Value, "تعديل") > 0 Then ActiveSheet.Rows(i).Delete End If Next i End Sub احفظ الملف وأغلقه، ثم أعد فتحه وابحث عن زر "تشغيل الماكرو" (المخصص للكود) وعند الضغط على هذا الزر سوف يقوم المايكرو بحذف الصفوف التي تحتوي على كلمة "تعديل". يرجى ملاحظة أن هذا الكود يحذف الصفوف بشكل دائم، لذا يجب تأكيد أن الصفوف التي تريد حذفها تحتوي على كلمة "تعديل" بالفعل قبل تشغيل الماكرو. كما يجب الحذر من استخدام هذا الكود في الصفوف الهامة التي قد يؤدي حذفها إلى فقدان البيانات. او الشيت النشط يمكن للكود حذف صفوف الشيت النشط
2saad قام بنشر يوليو 11, 2023 الكاتب قام بنشر يوليو 11, 2023 شكرا لرد حضرتك أنا طبقت الكود ولكن دون فائدة يعني لم يمسح الصفوف
علي بن علي قام بنشر يوليو 11, 2023 قام بنشر يوليو 11, 2023 إذا لم يعمل الكود بشكل صحيح، فقد يكون هناك أسباب عدة وراء ذلك. فيما يلي بعض النقاط التي يجب مراجعتها: 1. التأكد من أن الصفوف التي تحتوي على كلمة "تعديل" موجودة في العمود الأول من ورقة العمل. المقصود بالعمود الأول هو العمود A 2. التأكد من أن الكلمة الدلالية موجودة بالضبط كما هي مكتوبة في الكود، بما في ذلك الأحرف الكبيرة والصغيرة. 3. التأكد من أن الكود المستخدم هو بالضبط الذي تم تقديمه في الإجابة السابقة. 4. التأكد من عدم وجود أي صفوف مخفية في ورقة العمل. 5. التأكد من عدم وجود قيم فارغة أو مسافات إضافية قبل أو بعد الكلمة الدلالية في الصفوف. 6. التأكد من أن لغة Excel تعتمد على اللغة الإنجليزية، وإذا كنت تستخدم Excel بلغة أخرى فمن الممكن أن تحتاج إلى تغيير الكلمة الدلالية في الكود إلى اللغة التي تستخدمها. إذا لم تتمكن من حل المشكلة بعد مراجعة هذه النقاط، فيمكنك محاولة استخدام الكود التالي بدلاً من الكود السابق: Sub DeleteRows() Dim i As Long Dim LastRow As Long LastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row For i = LastRow To 1 Step -1 If InStr(1, ActiveSheet.Cells(i, 1).Value, "تعديل") > 0 Then ActiveSheet.Rows(i).Delete End If Next i End Sub حظ موفق
أبوأحـمـد قام بنشر يوليو 11, 2023 قام بنشر يوليو 11, 2023 السبب لأن تعديل في الجدول قبلها مسافة " تعديل" 2
2saad قام بنشر يوليو 11, 2023 الكاتب قام بنشر يوليو 11, 2023 شكرا جزيلا لحضرتك وبارك الله فيك وأكثر الله من أمثالك لي سؤال الكود يعمل الورقة النشطة فقط صح كده
محي الدين ابو البشر قام بنشر يوليو 12, 2023 قام بنشر يوليو 12, 2023 (معدل) Sub test() Dim i As Integer With ActiveSheet For i = .UsedRange.Rows.Count + 2 To 1 Step -1 If Trim(.Cells(i, 3)) = "تعديل" Then .Rows(i).Delete End If Next i End With End Sub تم تعديل يوليو 12, 2023 بواسطه محي الدين ابو البشر 1
أفضل إجابة محي الدين ابو البشر قام بنشر يوليو 12, 2023 أفضل إجابة قام بنشر يوليو 12, 2023 خيار آخر قد يكون أسرع Sub test() Dim i As Integer Dim r As Range: Dim tr As Range With ActiveSheet For i = 1 To .UsedRange.Rows.Count + 2 If Trim(.Cells(i, 3)) = "تعديل" Then If r Is Nothing Then Set r = .Rows(i) Else Set r = Union(r, .Rows(i)) End If End If Next i r.Delete End With End Sub 4
2saad قام بنشر يوليو 12, 2023 الكاتب قام بنشر يوليو 12, 2023 شكرا لكم جميعا وبارك الله فيكم في مجهودكم ومساعدتكم للناس
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.