Note: The other languages of the website are Google-translated. Back to English

كيفية حذف ورقة العمل بناءً على قيمة الخلية في إكسيل؟

لنفترض أن لدي أوراق عمل متعددة داخل مصنف ، الآن ، أريد حذف الأوراق بناءً على قيمة الخلية. على سبيل المثال ، إذا كانت الخلية A1 المحددة تحتوي على النص "KTE" ، فيجب حذف جميع الأوراق التي تحتوي على هذا النص في الخلية A1 مرة واحدة. قد تساعدك هذه المقالة في التعامل مع هذه المهمة في Excel.

احذف ورقة العمل بناءً على قيمة الخلية برمز VBA


السهم الأزرق الحق فقاعة احذف ورقة العمل بناءً على قيمة الخلية برمز VBA

هنا ، سأقدم لك رمزًا لحذف جميع الأوراق التي تحتوي الخلية المحددة على قيمة معينة ، يرجى القيام بما يلي:

1. اضغط باستمرار ALT + F11 مفاتيح لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

2. انقر إدراج > وحدة، والصق الكود التالي في ملف وحدة نافذة او شباك.

كود فبا: حذف ورقة العمل بناء على قيمة الخلية:

Sub deletesheetbycell()
'Updateby Extendoffice
    Dim shName As String
    Dim xName As String
    Dim xWs As Worksheet
    Dim cnt As Integer
    shName = Application.InputBox("Input the text to delete the sheets based on:", "Kutools for Excel", _
                                    "", , , , , 2)
    Application.DisplayAlerts = False
    cnt = 0
    For Each xWs In ThisWorkbook.Sheets
        If xWs.Range("A1").Value = shName Then
            xWs.delete
            cnt = cnt + 1
        End If
    Next xWs
    Application.DisplayAlerts = True
    MsgBox "Have deleted" & cnt & "worksheets", vbInformation, "Kutools for Excel"
End Sub

ملاحظة: في الكود أعلاه ، A1 هي الخلية المحددة التي تحتوي على نص معين تريد حذف الأوراق بناءً عليه.

3. ثم اضغط F5 المفتاح لتشغيل هذا الرمز ، ويظهر مربع موجه لتذكيرك بإدخال القيمة المحددة التي تريد حذف الأوراق بناءً عليها ، انظر لقطة الشاشة:

doc حذف الورقة بالخلية 1

4. ثم انقر فوق OK ، تم حذف جميع الأوراق التي تحتوي الخلية A1 على النص KTE مرة واحدة. انظر لقطة الشاشة:

doc حذف الورقة بالخلية 2


أفضل أدوات إنتاجية المكتب

Kutools for Excel يحل معظم مشاكلك ويزيد إنتاجيتك بنسبة 80٪

  • إعادة استخدام: أدخل بسرعة الصيغ المعقدة والرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة السر إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • سوبر فورميولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (قراءة وتحرير أعداد كبيرة من الخلايا بسهولة) ؛ لصق في النطاق المصفى
  • دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ تقسيم محتوى الخلايا ؛ ادمج الصفوف / الأعمدة المكررة... منع تكرار الخلايا؛ قارن النطاقات
  • حدد مكرر أو فريد صفوف حدد صفوف فارغة (جميع الخلايا فارغة) ؛ البحث الفائق والبحث الغامض في العديد من المصنفات. تحديد عشوائي ...
  • نسخة طبق الأصل خلايا متعددة بدون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة أدخل الرموز النقطية، مربعات الاختيار والمزيد ...
  • استخراج النص، إضافة نص ، إزالة حسب الموضع ، إزالة الفضاء؛ إنشاء وطباعة المجاميع الفرعية لترحيل الصفحات ؛ التحويل بين محتوى الخلايا والتعليقات
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ فرز متقدم حسب الشهر / الأسبوع / اليوم ، التكرار والمزيد ؛ مرشح خاص بواسطة bold، italic ...
  • اجمع بين المصنفات وأوراق العمل؛ دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls و xlsx و PDF
  • أكثر من 300 ميزة قوية. يدعم Office / Excel 2007-2021 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. الميزات الكاملة نسخة تجريبية مجانية لمدة 30 يومًا. ضمان استرداد الأموال لمدة 60 يومًا.
علامة تبويب kte 201905

يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (4)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
سؤال سريع ، الكود أعلاه يعمل معي لحذف أوراق العمل التي تحتوي على القيمة التي تم إدخالها ، ولكن ماذا لو أردت حذف أوراق العمل التي لا تحتوي على قيمة تم إدخالها. حاولت استبدال عامل التشغيل "=" بالمعامل <> "ولكنه لا يعمل. شكرًا!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أنكور ،
كما قلت ، تحتاج فقط إلى تغيير "=" إلى "<>" كما هو موضح أدناه:

حذف فرعي للورقة ()
خافت shName كسلسلة
خافت xName كسلسلة
خافت xWs كورقة عمل
خافت cnt كعدد صحيح
shName = Application.InputBox ("إدخال النص لا يحذف الأوراق بناءً على:" ، "Kutools for Excel" ، _
"" ، ، ، ، ، ، 2)
Application.DisplayAlerts = خطأ
cnt = 0
لكل xWs في ThisWorkbook.Sheets
إذا كان xWs.Range ("A1"). القيمة <> shName ثم
xWs.Delete
cnt = cnt + 1
إنهاء حالة
xWs التالي
Application.DisplayAlerts = صحيح
MsgBox "لقد حذفت" & cnt & "أوراق العمل" ، vbInformation ، "Kutools for Excel"
نهاية الفرعية

من فضلك حاول ، أتمنى أن يساعدك!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
طاب مسائك،
هل يمكن أن تخبرني ما إذا كانت هناك طريقة للرد تلقائيًا بنعم عندما يُطلب منك حذف الورقة؟ شكراً جزيلاً.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا مرة أخرى ، نفي مايند بشأن سؤالي الأخير. أضفت ما يلي قبل وبعد سطر الحذف: Application.DisplayAlerts = False
Application.DisplayAlerts = صحيح

لا توجد تعليقات منشورة هنا حتى الآن
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة

تواصل معنا

حقوق التأليف والنشر © 2009 - شبكة الاتصالات العالمية.extendoffice.com. | كل الحقوق محفوظة. مشغل بواسطة ExtendOffice. | | خريطة الموقع
Microsoft وشعار Office هما علامتان تجاريتان أو علامتان تجاريتان مسجلتان لشركة Microsoft Corporation في الولايات المتحدة و / أو دول أخرى.
محمي بواسطة Sectigo SSL