كيفية استخدام وظيفة vba filter؟
تم إدراج وظيفة VBA FILTER في فئة جدول وظائف VBA. عند استخدامه في التعليمات البرمجية لـ VBA، يمكنه إرجاع سلاسل من مصفوفة من السلاسل بناءً على السلسلة التي حددتها كمجموعة فرعية . بعبارات بسيطة، يمكنه تحديد سلسلة وسيقوم بالبحث عن جميع القيم حيث تكون تلك السلسلة جزءًا من السلسلة الرئيسية.
بناء الجملة
عامل التصفية (ArraySource، Match، [تضمين]، [مقارنة])
دعوى
- SourceArray : المصفوفة التي تحتوي على السلاسل المطلوب تصفيتها.
- مطابقة : السلسلة التي تريد تصفيتها في SourceArray.
- [تضمين] : هذا أمر منطقي لتحديد ما إذا كانت قيمة الطقس المراد تصفيتها تتضمن المطابقة، أم لا تتضمن [هذه وسيطة اختيارية وإذا تم حذفها، فإن VBA الافتراضي هو TRUE].
- [مقارنة] : قيمة سلسلة لتعريف المقارنة التي سيتم إجراؤها عند تصفية المصفوفة [هذه وسيطة اختيارية وإذا تم حذفها، يأخذ VBA vbBinaryCompare افتراضيًا].
- vbBinaryCompare: للمقارنة الثنائية.
- vbTextCompare: لمقارنة النص.
- vbDatabaseCompare: لمقارنة قاعدة البيانات.
مثال
لفهم كيفية استخدام وظيفة VBA FILTER بشكل عملي، يجب عليك الاطلاع على المثال أدناه حيث قمنا بكتابة كود vba باستخدامها:
Sub example_FILTER() Dim nameAry As Variant Dim myAry(0 To 4) As String myAry(0) = Range("A1").Value myAry(1) = Range("A2").Value myAry(2) = Range("A3").Value myAry(3) = Range("A4").Value myAry(4) = Range("A5").Value nameAry = Filter(myAry, "Sh") End Sub
في الكود أعلاه، استخدمنا FILTER للحصول على القيمة من المصفوفة (يحتوي myAry على قيم من الخلايا التي حددناها) والتي تتضمن “Sh” بداخلها، والآن يتضمن “nameAry” “Jay Sh” و”Peter” “Sh” لأن كلاهما يحتوي على “Sh”.
تعليقات
- إذا كانت المصفوفة المصدر التي قدمتها فارغة، فسيقوم VBA بإرجاع خطأ.
- سيكون المصفوفة التي يتم إرجاعها بواسطة عامل التصفية دائمًا عبارة عن مصفوفة أحادية البعد وذات أساس صفري.