Vba: كيفية حذف الصفوف بناءً على قيمة الخلية
يمكنك استخدام بناء الجملة التالي في VBA لحذف الصفوف بناءً على قيمة الخلية:
Sub DeleteRowsByValue()
Dim ws As Worksheet
Set ws = ActiveSheet
'clear existing filters
On Error Resume Next
ws.ShowAllData
On Error GoTo 0
'filter range where column 2 in range is equal to "East"
ws.Range(" A1:C10 ").AutoFilter Field:=2, Criteria1:=" East "
'delete rows that are visible
Application.DisplayAlerts = False
ws.Range(" A2:C10 ").SpecialCells(xlCellTypeVisible).Delete
Application.DisplayAlerts = True
'remove filter
On Error Resume Next
ws.ShowAllData
On Error GoTo 0
End Sub
يقوم هذا الماكرو المحدد بحذف كافة الصفوف الموجودة في النطاق A1:C10 حيث تساوي قيمة العمود B “Is”.
يستخدم هذا الماكرو الخطوات التالية:
- قم بتطبيق عامل تصفية على A1:C10 لعرض الصفوف التي قيمتها في العمود B هي “Is” فقط.
- ثم احذف كافة الخلايا المرئية.
- ثم قم بإزالة الفلتر.
يؤدي هذا إلى حذف كافة الصفوف الموجودة في النطاق A1:C10 حيث تساوي القيمة الموجودة في العمود B “Is”.
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: استخدم VBA لحذف الصفوف بناءً على قيمة الخلية
لنفترض أن لدينا مجموعة البيانات التالية التي تحتوي على معلومات حول لاعبي كرة السلة المختلفين:
لنفترض أننا نريد إزالة كل صف من مجموعة البيانات حيث يساوي عمود “المؤتمر” “الشرق”.
يمكننا إنشاء الماكرو التالي للقيام بذلك:
Sub DeleteRowsByValue()
Dim ws As Worksheet
Set ws = ActiveSheet
'clear existing filters
On Error Resume Next
ws.ShowAllData
On Error GoTo 0
'filter range where column 2 in range is equal to "East"
ws.Range(" A1:C10 ").AutoFilter Field:=2, Criteria1:=" East "
'delete rows that are visible
Application.DisplayAlerts = False
ws.Range(" A2:C10 ").SpecialCells(xlCellTypeVisible).Delete
Application.DisplayAlerts = True
'remove filter
On Error Resume Next
ws.ShowAllData
On Error GoTo 0
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
لاحظ أنه تم حذف كافة الصفوف التي كانت القيمة الموجودة في عمود المؤتمر فيها “الشرق”.
ملاحظة : السطر Application.DisplayAlerts=False يخبر VBA بعدم عرض عملية إزالة الخطوط المرئية، مما يؤدي إلى تسريع العملية.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
فبا: كيفية تطبيق التنسيق الشرطي على الخلايا
فبا: كيفية حساب عدد الصفوف في النطاق
VBA: كيفية حساب الخلايا التي تحتوي على نص معين