Excel VBA: كيفية التصفية بمعايير متعددة في المصفوفة (7 طرق)

Hugh West

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

لذا ، فلنبدأ مقالتنا الرئيسية.

تنزيل المصنف

تصفية بمعايير متعددة. xlsm

7 طرق للتصفية بمعايير متعددة في المصفوفة باستخدام Excel VBA

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

لقد استخدمنا Microsoft Excel 365 إصدار هنا ، أنت يمكن استخدام أي إصدارات أخرى وفقًا لراحتك.

الطريقة الأولى: تصفية بمعايير متعددة كنصوص في المصفوفة

هنا ، سنحاول تصفية مجموعة البيانات التالية بناءً على عمود اسم الطالب لمعايير متعددة تحتوي على السلاسل إميلي ، دانيال ، غابرييل في مصفوفة.

الخطوة -01 :

➤ انتقل إلى المطور Tab & gt؛ & gt؛ Visual Basic Option.

ثم ، محرر Visual Basic سيفتح.

➤ انتقل إلى إدراج علامة تبويب & gt؛ & gt؛ الوحدة النمطية الخيار.

بعد ذلك ، وحدة سيكونتم إنشاؤه.

الخطوة -02 :

➤ اكتب الكود التالي

6773

هنا ، أعلنا عن أسماء الرؤوس في النطاق B3: D3 حيث سنطبق المرشح و الحقل: = 2 هو رقم العمود الخاص بهذا النطاق الذي سنقوم بناءً عليه بعملية التصفية هذه.

أخيرًا ، قمنا بتعيين المعايير كمصفوفة للإعلان عن أسماء طلاب متعددة مثل Emily ، Daniel ، و غابرييل .

➤ اضغط على F5 .

ثم ، أنت سيتم تصفية مجموعة البيانات لمعايير متعددة لإظهار اسم الطلاب وما يقابلهم من معرفات و العلامات للطلاب إميلي ، دانيال ، غابرييل .

قراءة المزيد: تصفية معايير متعددة في Excel (4 طرق مناسبة)

الطريقة الثانية: تصفية بمعايير عدد متعددة في المصفوفة باستخدام Excel VBA

هنا ، سنقوم بتصفية مجموعة البيانات التالية للمعرفات 101135 ، 10 1137 ، 101138 باستخدام هذه الأرقام كمعايير متعددة في المصفوفة.

الخطوات :

اتبع الخطوة -01 من الطريقة -1 .

➤ اكتب الكود التالي

3276

هنا ، أعلنا عن أسماء الرؤوس في النطاق B3: D3 حيث سنطبق المرشح و الحقل: = 2 هو رقم العمود في هذا النطاق بناءً على سيفعل هذا التصفيةالعملية.

أخيرًا ، قمنا بتعيين المعايير كمصفوفة للإعلان عن هويات متعددة للطلاب مثل 101135 ، 101137 و 101138 وقد وضعناها داخل فواصل مقلوبة لتحديدها كسلاسل لأن التصفية التلقائية ستعمل مع مجموعة من السلاسل فقط.

➤ اضغط على F5 .

بعد ذلك ، ستحصل على أسماء وعلامات الطلاب الذين لديهم هويات 101135 ، 101137 ، 101138 .

قراءة المزيد: VBA للحصول على قيم فريدة من العمود إلى صفيف في Excel (3 معايير)

الطريقة الثالثة: تعيين معايير متعددة في نطاق لاستخدام كمصفوفة

هنا ، قمنا بإدراج المعايير في العمود القائمة الذي يحتوي على المعرفات 101134 ، 101135 و 101136 بناءً على ما سنقوم بعملية التصفية الخاصة بنا.

الخطوات :

➤ اتبع الخطوة -01 من الطريقة -1 .

➤ اكتب الكود التالي

2212

هنا ، لقد رفضنا ared ID_range ، k مثل Variant و ID_range هو المصفوفة التي ستخزن معايير متعددة ، و k هي تتراوح الزيادة من الحد الأدنى إلى الحد الأعلى لهذه المجموعة. للحصول على الحد الأدنى والحد الأعلى ، استخدمنا الدالة LBOUND و وظيفة UBOUND على التوالي.

يتم استخدام FOR loop لتحويل قيم أخرى غير السلاسلفي المصفوفة إلى سلاسل بمساعدة دالة CStr . أخيرًا ، استخدمنا هذه المصفوفة كـ Criteria1 .

➤ اضغط على F5 .

بعد ذلك ، أنت سوف تحصل على أسماء وعلامات الطلاب الذين لديهم هويات 101134 ، 101135 ، 101136 .

قراءة المزيد: تصفية عمود مختلف بمعايير متعددة في Excel VBA

قراءات مماثلة

  • كيفية تصفية القيم الفريدة في Excel (8 طرق سهلة)
  • إجراء تصفية مخصصة في Excel (5 الطرق)
  • حساب متوسط ​​المصفوفة باستخدام VBA (Macro و UDF و UserForm)
  • اختصار لمرشح Excel (3 استخدامات سريعة مع أمثلة)

الطريقة الرابعة: استخدام وظائف SPLIT و JOIN لإنشاء صفيف بمعايير متعددة

هنا ، سنستخدم القائمة التالية في قائمة العمود كمصفوفة ولتصفية مجموعة البيانات بشكل صحيح ، سنستخدم أيضًا وظيفة SPLIT و وظيفة JOIN و وظيفة TRANSPOSE في كود VBA .

الخطوات :

Fol منخفض الخطوة -01 من الطريقة الأولى .

➤ اكتب الكود التالي

4920

هنا ، TRANSPOSE سيتم التحويل المصفوفة 2D في مصفوفة 1D وإلا لن تعمل التصفية التلقائية ، سينضم JOIN إلى كل من القيم في مصفوفة من السلاسل ، وأخيرًا ، سيقوم SPLIT بتفكيك كل سلسلة لإعطاء مدخلاتبشكل منفصل كمعايير لتصفية مجموعة البيانات.

➤ اضغط على F5 .

أخيرًا ، ستحصل على أسماء وعلامات الطلاب الذين لديهم هويات 101134 ، 101135 ، 101136 .

اقرأ المزيد: كيفية تقسيم سلسلة في مصفوفة في VBA (3 طرق)

الطريقة الخامسة : تصفية بمعايير متعددة في حلقة للصفيف مع VBA

في هذا القسم ، سنقوم بتصفية مجموعة البيانات التالية وفقًا لعمود معرف الطالب لعدة المعايير على النحو الوارد في العمود قائمة .

الخطوات :

➤ اتبع الخطوة- 01 من الطريقة 1 .

➤ اكتب الكود التالي

2642

هنا ، أعلنا أن k عدد صحيح ، ID_range (100) كـ String حيث ID_range عبارة عن مصفوفة ستخزن ما يصل إلى 100 قيمة. لتحديد قيم هذه المصفوفة هنا استخدمنا حلقة FOR لـ k من 4 إلى 6 كأرقام صفوف قائمة عمود و F هو اسم العمود.

أخيرًا ، استخدمنا هذه المصفوفة كـ معيار 1 لـ تصفية تلقائية .

➤ اضغط على F5 .

في النهاية ، ستحصل على أسماء وعلامات الطلاب الذين لديهم هويات 101134 و 101135 و 101136 .

قراءة المزيد: تصفية معايير متعددة في Excel باستخدام VBA (كل من AND و ORالأنواع)

الطريقة السادسة: استخدام النطاق المسمى لمعايير متعددة

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

الخطوات :

➤ اتبع الخطوة 01 من الطريقة الأولى .

➤ اكتب الكود التالي

3142

هنا ، أعلنا Student_range ، k كمتغير ، واستخدم دالة TRANSPOSE لتحويل المصفوفة 2D من النطاق المحدد Student في مصفوفة 1D ثم تخزينها في Student_range . بعد ذلك ، يتم استخدامه كـ Criteria1 لأسلوب التصفية التلقائية .

➤ اضغط على F5 .

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

المحتوى المرتبط: VBA لتحويل الصفيف في Excel (3 طرق)

الطريقة السابعة: جدول التصفية بمعايير متعددة في مصفوفة

هنا ، لدينا ما يلي الجدول اسمه جدول 1 ويستخدم Excel VBA سنحاول تصفية هذا الجدول بناءً على الأسماء Emily ، Daniel ، و غابرييل كمعايير متعددة في المصفوفة.

الخطوات :

➤ اتبع الخطوة -01 من الطريقة 1 .

➤ اكتب الكود التالي

5722

هنا ، ListObjects (“Table1”) يستخدم لتحديد الجدول Table1 ، Field: = 2 لإعداد العمود الثاني من هذا النطاق كأساس لعملية التصفية وأخيراً قمنا بتعريف مصفوفة تحتوي على أسماء متعددة لـ Criteria1 .

➤ اضغط على F5 .

في النهاية ، سيكون لديك مجموعة البيانات تمت تصفيتها لمعايير متعددة لإظهار اسم الطلاب والمقابلة المعرفات و العلامات للطلاب إميلي ، دانيال ، غابرييل .

قراءة المزيد: Excel VBA: جدول عامل التصفية استنادًا إلى قيمة الخلية (6 طرق سهلة)

قسم الممارسة

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

الاستنتاج

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

هيو ويست مدرب ومحلل إكسل ذو خبرة عالية ولديه أكثر من 10 سنوات من الخبرة في هذا المجال. حاصل على درجة البكالوريوس في المحاسبة والمالية ودرجة الماجستير في إدارة الأعمال. لدى هيو شغف بالتدريس وقد طور منهجًا تعليميًا فريدًا يسهل اتباعه وفهمه. ساعدت معرفته الخبيرة ببرنامج Excel الآلاف من الطلاب والمهنيين في جميع أنحاء العالم على تحسين مهاراتهم والتميز في حياتهم المهنية. من خلال مدونته ، يشارك Hugh معرفته مع العالم ، ويقدم دروسًا مجانية في Excel وتدريبًا عبر الإنترنت لمساعدة الأفراد والشركات على تحقيق إمكاناتهم الكاملة.