التصفية التلقائية لـ VBA | كيفية استخدام معايير التصفية التلقائية لـ VBA لتصفية البيانات؟

التصفية التلقائية لبرنامج Excel VBA

يتم استخدام التصفية التلقائية في VBA كتعبير وبناء الجملة الخاص به على النحو التالي التعبير. التصفية التلقائية (الحقل ، المعايير 1 ، المشغل ، المعايير 2 ، القائمة المنسدلة) جميع الوسائط اختيارية. عامل التصفية مفيد في تصفية البيانات المعينة من البيانات الضخمة.

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

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

إذا كنت تتعامل مع كمية هائلة من البيانات ، فيمكنك استخدام خيار التصفية التلقائية لتبسيط تدفق العملية.

بناء جملة وظيفة التصفية التلقائية

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

  • النطاق: النطاق هو ببساطة النطاق الذي تريد تطبيق المرشح فيه.
  • الحقل: الحقل يعني أي عمود من النطاق الذي حددته تريد تصفية البيانات منه. سيتم عد العمود من اليسار إلى اليمين.

على سبيل المثال ، إذا كان النطاق الخاص بك من A1 إلى D100 وتريد تطبيق عامل تصفية للعمود D ، فإن رقم الحقل الخاص بك هو 4 لأنه في النطاق المحدد D هو العمود الرابع.

المعايير 1: في الحقل ، حددت ما تريد تصفيته.

  • المشغل: إذا كنت تريد تطبيق أكثر من معيار واحد لتصفية البيانات ، فنحن بحاجة إلى استخدام رموز المشغل. بعض رموز المشغل على النحو التالي.

xlAnd و xlOr و xlBottom10Items و xlTop10Items و xlTop10Percent و xlBottom10Percent و xlFilterCellColor و xlFilterDynamic و xlFilterFontColor و xlFilterIcon و xlFilterValues.

المعيار 2: ما هو الشيء الثاني الذي تريد تصفيته مع المعيار 1؟

  • المنسدلة المرئية: هل تريد عرض أيقونة المرشح fop لأسفل في العمود المرشح. إذا كنت تريد عرض TRUE هي الوسيطة ، إذا لم تكن FALSE هي الوسيطة.

كيفية تطبيق عامل التصفية باستخدام VBA AutoFilter؟ (مع مثال)

يمكنك تنزيل قالب التصفية التلقائية لـ VBA هنا - قالب التصفية التلقائية لـ VBA

افترض أدناه البيانات التي تعمل عليها.

الآن باستخدام كود فبا ، سنقوم بتطبيق المرشح. اتبع الخطوات أدناه لتطبيق المرشح.

الخطوة 1: ابدأ الإجراء الفرعي بإعطاء اسم للماكرو.

رمز:

 Sub AutoFilter_Example1 () End Sub 

الخطوة 2: أول  شيء هو النطاق الذي نحتاجه لتطبيق المرشح. في هذه الحالة ، نحتاج إلى تطبيق النطاق من النطاق A1 إلى E25.

رمز:

 النطاق الفرعي AutoFilter_Example1 () ("A1: E25") End Sub 

الخطوة 3: بمجرد تحديد النطاق ، قم الآن بتطبيق خيار التصفية التلقائية.

رمز:

 النطاق الفرعي AutoFilter_Example1 () ("A1: E25") 

نحن لا نختار أي قيم باستخدام عامل التصفية التلقائي ، بل إننا نطبق المرشح فقط في هذه المرحلة الزمنية.

قم بتشغيل الكود باستخدام مفتاح F5 أو يدويًا سيتم إدراج مرشح للنطاق المحدد.

لذلك فقد طبقت مرشحًا على البيانات. الآن سوف نرى كيفية تصفية البيانات.

مثال # 1 - تصفية البيانات باستخدام التصفية التلقائية

ضع في اعتبارك نفس البيانات من المثال أعلاه. نحتاج الآن إلى تصفية قسم "المالية" من عمود القسم.

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

رمز:

 النطاق الفرعي AutoFilter_Example1 () ("A1: E25"). حقل التصفية التلقائية: = 5 ، End Sub 

الخطوة 2: المعيار 1 ليس سوى ما نريد تصفيته من العمود الخامس. لذلك نحن بحاجة إلى تصفية "التمويل".

رمز:

 نطاق التصفية التلقائية الفرعية 1 () ("A1: E25"). حقل التصفية التلقائية: = 5 ، Criteria1: = "التمويل" End Sub 

هذا كل شيء ، قم بتشغيل هذا الرمز يدويًا أو من خلال مفتاح F5 ، سيتم تصفية "المالية" فقط من القائمة.

مثال # 2 - عامل التشغيل في التصفية التلقائية

لقد رأينا كيفية تصفية القيمة الفردية. الآن سنرى كيفية تصفية عناصر متعددة. افترض جنبًا إلى جنب مع "الشؤون المالية" أنك تريد تصفية قسم "المبيعات" أيضًا ، حتى نتمكن من القيام بذلك باستخدام عوامل التشغيل.

الخطوة 1: بعد تطبيق المعايير الأولى في الوسيطة التالية ، حدد عامل التشغيل باسم "xlOr".

رمز:

 نطاق التصفية التلقائية الفرعية_Example2 () ("A1: E25"). حقل التصفية التلقائية: = 5 ، Criteria1: = "التمويل" ، عامل التشغيل: = xlOr End Sub 

الخطوة 2: الآن في المعايير 2 ، اذكر القيمة على أنها "مبيعات".

رمز:

 نطاق التصفية التلقائية الفرعية_Example2 () ("A1: E25"). حقل التصفية التلقائية: = 5 ، Criteria1: = "التمويل" ، عامل التشغيل: = xlOr ، Criteria2: = "المبيعات" End Sub 

الخطوة 3: حسنًا ، تم تشغيل هذا الرمز باستخدام مفتاح F5 أو يدويًا سيقوم بتصفية كل من "المالية" و "المبيعات".

في وسيطة عامل التشغيل ، لقد استخدمت "xlOr" وهذا سيحدد كلاً من "التمويل" و "المبيعات" ضمن عامل التصفية.

مثال # 3 - تصفية الأرقام باستخدام التصفية التلقائية

باستخدام رمز المشغل "XlAnd" يمكننا تصفية الأرقام أيضًا. افترض من عمود العمل الإضافي أنك تريد تصفية جميع القيم التي تكون> 1000 ولكن <3000.

الخطوة 1: أول  شيء هو تغيير الحقل من 5 إلى 4.

رمز:

 النطاق الفرعي AutoFilter_Example3 () ("A1: E25"). حقل التصفية التلقائية: = 4 End Sub 

الخطوة 2: المعيار 1 هو> 1000.

رمز:

 النطاق الفرعي AutoFilter_Example3 () ("A1: E25"). حقل التصفية التلقائية: = 4 ، Criteria1: = "> 1000" ، End Sub 

الخطوة 3: هنا نحتاج إلى مطابقة كلا المعيارين ، لذا استخدم "xlAnd" كعامل تشغيل.

رمز:

 نطاق تصفية تلقائية فرعي_Example3 () ("A1: E25"). حقل التصفية التلقائية: = 4 ، Criteria1: = "> 1000" ، عامل التشغيل: = xlAnd ، End Sub 

الخطوة 4: المعيار 2 سيكون أقل من 3000.

رمز:

 نطاق التصفية التلقائية الفرعية_Example3 () ("A1: E25"). حقل التصفية التلقائية: = 4 ، Criteria1: = "> 1000" ، عامل التشغيل: = xlAnd ، Criteria2: = "<3000" End Sub 

الآن إذا قمت بتشغيل هذا الرمز يدويًا أو من خلال المفتاح F5 ، فسيتم تصفية جميع القيم من عمود العمل الإضافي التي هي> 1000 ولكن <3000.

مثال # 4 - تصفية من أعمدة مختلفة باستخدام التصفية التلقائية

لتصفية البيانات من أعمدة مختلفة ، نحتاج إلى استخدام عملية مختلفة. افترض أنك تريد تصفية قسم "المالية" وتريد أيضًا تصفية أرقام الرواتب التي هي> 25000 ولكن <40000.

يمكنك استخدام الكود أدناه يفعل ذلك.

رمز:

 Sub AutoFilter_Example4 () مع النطاق ("A1: E25"). حقل AutoFilter: = 5 ، Criteria1: = "Finance". حقل AutoFilter: = 2 ، Criteria1: = "> 25000" ، عامل التشغيل: = xlAnd ، Criteria2: = " <40000 "ينتهي بـ End Sub 

سيؤدي هذا إلى تصفية عمودين.

قم بتشغيل هذا الرمز باستخدام المفتاح F5 أو يمكنك تشغيله يدويًا.

أشياء للذكرى

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

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