ورقة حذف VBA | كيفية حذف ورقة العمل باستخدام كود فبا؟

ورقة حذف Excel VBA

لحذف الورقة في VBA ، نقوم بحذف ورقة العمل. لتطبيق هذه الطريقة ، نحتاج أولاً إلى تحديد الورقة التي نحذفها عن طريق استدعاء اسم الورقة. لدينا طريقتان للقيام بنفس الشيء ، أولاً نكتب مباشرة sheet1.delete والطريقة الثانية هي أوراق (sheet1).

لذلك يتبع بناء الجملة.

أوراق العمل ("اسم ورقة العمل"). حذف

أو

الأوراق ("اسم الورقة"). حذف

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

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

يمكنك تنزيل VBA Delete Sheet Excel Template من هنا - VBA Delete Sheet Excel Template

مثال # 1 - احذف ورقة العمل باستخدام اسمها

افترض أن لديك العديد من الأوراق ولحذف ورقة العمل المحددة ، نحتاج إلى ذكر ورقة العمل باسمها. على سبيل المثال ، لدي 3 أوراق مختلفة باسم "مبيعات 2016" و "مبيعات 2017" و "مبيعات 2018".

إذا كنت أرغب في حذف الورقة المسماة " مبيعات 2017 " ، فيجب أن أذكر اسم الورقة كما هو موضح أدناه.

رمز:

أوراق عمل Delete_Example1 () الفرعية ("أوراق 2017"). End Sub

مشكلة ذكر اسم ورقة العمل مباشرة لا يمكننا رؤية قائمة IntelliSense لـ VBA. على أي حال ، أذكر الطريقة باسم " حذف ".

رمز:

أوراق عمل Delete_Example1 () الفرعية ("أوراق 2017"). حذف End Sub

لذلك سيؤدي هذا إلى حذف الورقة المسماة " مبيعات 2017 ".

خطأ أثناء حذف ورقة العمل: إذا حاولنا حذف ورقة العمل غير الموجودة أو إذا ذكرنا اسم ورقة العمل بشكل خاطئ ، فسنحصل على خطأ vba باسم "Subscript Out of Range".

في ما ورد أعلاه ، تلقيت خطأ "Subscript Out of Range" لأنه لا يوجد اسم ورقة في المصنف الخاص بي يسمى "Sales 2017".

مثال # 2 - حذف ورقة العمل باسمها مع المتغيرات

كما رأينا في المثال أعلاه في اللحظة التي نشير فيها إلى اسم ورقة العمل باستخدام كائن أوراق العمل ، لا يمكننا رؤية قائمة IntelliSense. للاطلاع على قائمة IntelliSense ، نحتاج إلى استخدام المتغيرات.

الخطوة 1: قم أولاً بتعريف المتغير على أنه ورقة عمل .

رمز:

 الفرعي Delete_Example2 () Dim Ws As ورقة عمل End Sub 

الخطوة 2: نظرًا لأن ورقة العمل هي متغير كائن ، فنحن بحاجة إلى ضبط المتغير على ورقة العمل المحددة باستخدام كلمة " SET ".

رمز:

 Sub Delete_Example2 () Dim Ws مثل مجموعة ورقة العمل Ws = أوراق العمل ("المبيعات 2017") End Sub 

الآن يشير المتغير "Ws" إلى ورقة العمل المسماة "مبيعات 2017".

الخطوة 3: الآن باستخدام المتغير " Ws " يمكننا الوصول إلى قائمة IntelliSense بورقة العمل.

رمز:

Sub Delete_Example2 () Dim Ws مثل مجموعة ورقة العمل Ws = أوراق العمل ("المبيعات 2017") Ws. End Sub

الخطوة 4: من قائمة IntelliSense ، حدد طريقة " Delete ".

رمز:

 الفرع الفرعي Delete_Example2 () Dim Ws مثل مجموعة ورقة العمل Ws = أوراق العمل ("المبيعات 2017") Ws.Delete End Sub 

مثل هذا باستخدام المتغيرات ، يمكننا الوصول إلى قائمة IntelliSense.

مثال # 3 - حذف ورقة العمل النشطة

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

ActiveSheet.Delete

الآن الورقة النشطة هي "مبيعات 2017".

إذا قمت بتشغيل الكود ، فسيتم حذف الورقة النشطة أي "مبيعات 2017".

الآن سأختار "مبيعات 2016".

الآن سيتم حذف الورقة النشطة مثل "مبيعات 2016".

مثل هذا ، يمكننا استخدام كائن "Active Sheet" لحذف ورقة العمل.

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

مثال # 4 - احذف أكثر من ورقة عمل واحدة

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

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

سيتم تكرار الكود أدناه من خلال أوراق العمل وحذف جميع أوراق العمل في المصنف.

رمز:

 Sub Delete_Example2 () خافت Ws كورقة عمل لكل Ws في ActiveWorkbook. أوراق العمل Ws. حذف Ws التالي End Sub 

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

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

رمز:

 الفرعي Delete_Example2 () خافت Ws كورقة عمل لكل Ws في ActiveWorkbook.Worksheets If ActiveSheet.Name Ws.Name ثم Ws.Delete End If Next Ws End Sub 

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

رمز:

 Sub Delete_Example2 () Dim Ws كورقة عمل لكل Ws في ActiveWorkbook.Worksheets If Ws.Name "Sales 2018" ثم 'يمكنك تغيير اسم ورقة العمل Ws.Delete End If Next Ws End Sub 

سيؤدي الكود أعلاه إلى حذف جميع أوراق العمل باستثناء ورقة العمل المسماة "مبيعات 2018".


$config[zx-auto] not found$config[zx-overlay] not found