كيفية حذف ورقة باستخدام vba؟

لحذف ورقة باستخدام VBA، يجب عليك استخدام أسلوب VBA حذف. تحتاج إلى تحديد الورقة التي تريد حذفها ثم استخدام هذه الطريقة. لنفترض أنك إذا كنت تريد حذف “الورقة 1″، فعليك أن تذكر الورقة 1 ثم تكتب نقطة (.) وفي النهاية اكتب “حذف”.

في هذا البرنامج التعليمي، سنرى طرقًا مختلفة يمكنك استخدامها لحذف ورقة باستخدام كود VBA. تأكد من وجود علامة تبويب المطور على الشريط حيث يمكنك الوصول إلى محرر القاعدة المرئية .

حذف ورقة باستخدام اسمها

كل ورقة لها اسم ويمكنك استخدام رمز الكتابة لحذف ورقة باستخدام الاسم. لذا، لنفترض أنك تريد حذف ورقة عمل “البيانات”، سيكون الرمز:

 Sub vba_delete_sheet() Sheets("Data").Delete End Sub
كتابة رمز الحذف

حذف ورقة دون سابق إنذار (مطالبة)

عندما تقوم بحذف ورقة عمل، يعرض Excel رسالة لتأكيد ما إذا كنت تريد حذفها أو إلغائها. وعندما تستخدم كود VBA، في هذه الحالة سيقوم Excel بذلك أيضًا.

مربع الحوار لتأكيد الحذف أو الإلغاء

لحل هذه المشكلة، يمكنك تعطيل تحديث الشاشة لحذف ورقة ثم تمكينها.

 Application.DisplayAlerts = False Sheets("Data").Delete Application.DisplayAlerts = True
تعطيل تنبيه الحوار

اسم ورقة الخلية

لنفترض الآن أنك تريد استخدام قيمة خلية لاستخدام اسم ورقة العمل. في هذه الحالة، تحتاج إلى استخدام كائن نطاق VBA للقيام بذلك.

استخدم قيمة خلية لاستخدام اسم ورقة العمل

حذف الورقة باستخدام رقم الورقة

صحيح. يمكنك استخدام رقم الورقة لحذفها. هنا هو الرمز.

 Sub vba_delete_sheet() Sheets(1).Delete End Sub
استخدم رقم الورقة لحذفها

حذف الورقة النشطة

لحذف الورقة النشطة، يمكنك استخدام كائن “ActiveSheet” بدلاً من استخدام اسم الورقة لتحديد الورقة.

 ActiveSheet.Delete
لحذف-الورقة النشطة-استخدام-الورقة النشطة

كما قلت، يؤدي هذا إلى حذف الورقة النشطة ويمكنك تنشيطها قبل حذفها. ولكن من الواضح أنك لا تحتاج إلى القيام بذلك لأنه يمكنك الرجوع إلى ورقة وحذفها كما رأينا في بداية هذا البرنامج التعليمي.

تحقق من وجود الورقة قبل حذفها

يمكنك أيضًا كتابة التعليمات البرمجية بطريقة تمكنها من التحقق مما إذا كانت الورقة موجودة أم لا ثم حذفها.

 Sub check_sheet_delete() Dim ws As Worksheet Dim mySheet As Variant mySheet = InputBox("enter sheet name") Application.DisplayAlerts = False For Each ws In ThisWorkbook.Worksheets If mySheet = ws.Name Then ws.Delete End If Next ws Application.DisplayAlerts = True End Sub
كتابة التعليمات البرمجية للتحقق من وجود الورقة

في هذا الرمز لديك “لكل” للتكرار من خلال كافة أوراق العمل. وبعد ذلك، بيان IF لحذف الورقة إذا كان اسمها يساوي الاسم الذي كتبته في مربع الإدخال.

حذف كافة أوراق العمل من المصنف

أنا متأكد من أن هذا السؤال يدور في ذهنك، ولكن أخشى أنه من المستحيل حذف جميع أوراق العمل الموجودة في المصنف. لديك ورقة عمل واحدة على الأقل متبقية.

لكني وجدت حلاً لهذه المشكلة. يمكنك إدراج ورقة فارغة جديدة، ثم حذف كافة الأوراق الموجودة بالفعل.

إليك الكود: يضيف هذا الكود ورقة جديدة ويحذف جميع الأوراق الأخرى.

 Sub vba_delete_all_worksheets() Dim ws As Worksheet Dim mySheet As String mySheet = "BlankSheet-" & Format(Now, "SS") Sheets.Add.Name = mySheet Application.DisplayAlerts = False For Each ws In ThisWorkbook.Worksheets If ws.Name <> mySheet Then ws.Delete End If Next ws Application.DisplayAlerts = True End Sub
ما هو فبا

الدروس ذات الصلة

اضف تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *