Vba: كيفية مسح المحتوى إذا كانت الخلية تحتوي على قيمة محددة
يمكنك استخدام بناء الجملة الأساسي التالي لمسح محتويات كل خلية في ورقة عمل Excel تساوي قيمة محددة:
SubClearContentsIfContains ()
Dim cell, rng As Range
Set rng = Range(" A2:A11 ")
For Each cell In rng
If cell.Value = " Mavs " Then
cell.ClearContents
Else
End If
Next cell
End Sub
سيقوم هذا الماكرو المحدد بمسح محتويات كل خلية في النطاق A2:A11 الذي يساوي “Mavs”.
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: استخدم VBA لمسح المحتوى إذا كانت الخلية تحتوي على قيمة محددة
لنفترض أن لدينا ورقة Excel تحتوي على معلومات حول لاعبي كرة السلة المختلفين:
لنفترض أننا نريد مسح محتويات كل خلية في عمود الفريق المساوية لـ “Mavs”.
يمكننا إنشاء الماكرو التالي للقيام بذلك:
SubClearContentsIfContains ()
Dim cell, rng As Range
Set rng = Range(" A2:A11 ")
For Each cell In rng
If cell.Value = " Mavs " Then
cell.ClearContents
Else
End If
Next cell
End Sub
بمجرد تنفيذ هذا الماكرو، سيتم مسح جميع الخلايا ذات القيمة “Mavs” في عمود “الفريق” :
إذا كنت تريد بدلاً من ذلك مسح كافة الخلايا في كل صف بالقيمة “Mavs” في عمود “الفريق “، فيمكنك استخدام بناء الجملة التالي:
SubClearContentsIfContains ()
Dim cell, rng As Range
Set rng = Range(" A2:A11 ")
For Each cell In rng
If cell.Value = " Mavs " Then
cell.EntireRow.ClearContents
Else
End If
Next cell
End Sub
بمجرد تشغيل هذا الماكرو، نحصل على الإخراج التالي:
لاحظ أنه تم مسح كافة الخلايا الموجودة في كل صف يحتوي على “Mavs” في عمود الفريق .
ملاحظة : يمكنك العثور على الوثائق الكاملة لأسلوب ClearContents في VBA هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
VBA: كيفية العثور على آخر سطر مستخدم
VBA: كيفية العثور على آخر عمود تم استخدامه
فبا: كيفية عرض كافة الأوراق