كيفية تصفية عمود باستخدام vba (مع أمثلة)
يمكنك استخدام الطرق التالية للتصفية حسب العمود في Excel باستخدام VBA:
الطريقة الأولى: التصفية بناءً على قيمة العمود
SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value
End Sub
سيقوم هذا الماكرو المحدد بتصفية النطاق A1:C11 لإظهار الصفوف التي يساوي عمودها الأول قيمة الخلية F2 فقط.
الطريقة الثانية: التصفية بناءً على قيم أعمدة متعددة
SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value, _
Operator:=xlOr, Criteria2:=Range(" F3 ").Value
End Sub
سيقوم هذا الماكرو المحدد بتصفية النطاق A1:C11 لإظهار الصفوف التي يساوي عمودها الأول قيمة الخلية F2 أو F3 فقط.
الطريقة الثالثة: مسح عوامل التصفية
SubClearFilters ()
ActiveSheet.AutoFilterMode = False
End Sub
سيقوم هذا الماكرو المحدد بمسح جميع عوامل التصفية من الورقة الحالية.
توضح الأمثلة التالية كيفية استخدام كل من هذه الطرق عمليًا.
مثال 1: التصفية بناءً على قيمة العمود
لنفترض أن لدينا مجموعة بيانات تحتوي على معلومات حول العديد من لاعبي كرة السلة ونريد تصفية مجموعة البيانات لتحتوي فقط على تلك الصفوف التي تساوي قيمتها في عمود الفريق A:
يمكننا إنشاء الماكرو التالي للقيام بذلك:
SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value
End Sub
عندما نقوم بتشغيل هذا الماكرو، ستتم تصفية مجموعة البيانات تلقائيًا لتحتوي فقط على الصفوف التي تساوي قيمتها في عمود الفريق A:
المثال 2: التصفية بناءً على قيم أعمدة متعددة
لنفترض أننا نريد تصفية مجموعة البيانات بحيث تحتوي فقط على الصفوف التي تساوي قيمتها في عمود الفريق A أو C:
يمكننا إنشاء الماكرو التالي للقيام بذلك:
SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value, _
Operator:=xlOr, Criteria2:=Range(" F3 ").Value
End Sub
عندما نقوم بتشغيل هذا الماكرو، تتم تصفية مجموعة البيانات تلقائيًا لإظهار الصفوف التي تساوي قيمتها في عمود الفريق A أو C فقط.
ملاحظة : يمكنك العثور على الوثائق الكاملة لأسلوب التصفية التلقائية لـ VBA هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
VBA: كيفية تحديث الجداول المحورية
فبا: كيفية تصفية الجداول المحورية
VBA: كيفية إزالة القيم المكررة