جدول المحتويات
أثناء العمل مع Microsoft Excel ، نحتاج أحيانًا إلى العثور على قيمة المطابقة في نطاق. يمكننا القيام بذلك بسهولة باستخدام وظائف Excel. هناك وظائف في VBA قد نستخدمها ، لكن لا يساوي أي منها MATCH . في هذه المقالة ، سوف نتعلم كيفية مطابقة قيمة في نطاق مع Excel VBA .
تنزيل Practice Workbook
يمكنك تنزيل المصنف والممارسة معهم.
قيمة مطابقة VBA في Range.xlsm
مقدمة إلى Excel VBA Match Function
دالة المطابقة في Excel VBA هي وظيفة بحث مُنشأة مفيدة مثل VLOOKUP و HLOOKUP و INDEX وظائف ، إرجاع موقع المطابقة المتطابقة أو القابلة للمقارنة لقيم البحث التي تم الحصول عليها في المصفوفات أو قاعدة البيانات. هذه الوظيفة هي وظيفة ورقة عمل يستخدمها البرنامج. نظرًا لأنها دالة في ورقة العمل ، فإن معلمات دالة المطابقة مماثلة لتلك الخاصة بوظيفة ورقة العمل.
3 أمثلة على Excel VBA لمطابقة القيمة في النطاق
1. مطابقة القيمة في النطاق مع وظيفة مطابقة VBA في Excel
لاستخدام وظيفة Excel VBA Match ، للعثور على قيمة المطابقة في نطاق ، سنستخدم مجموعة البيانات التالية . تحتوي مجموعة البيانات على بعض أسماء الطلاب في العمود C وعلاماتهم على موضوع معين في العمود D والرقم التسلسلي لكل طالب في العمود B . الآن ، افترض أنناتريد العثور على موضع المطابقة في الخلية G5 لعلامة معينة ، والعلامة التي نريد مطابقتها موجودة في الخلية F5 .
دعنا نوضح الإجراء من أجل ابحث عن قيم تطابق في نطاق باستخدام وظيفة Excel VBA Match .
STEPS:
- أولاً ، انتقل إلى علامة التبويب Developer من الشريط.
- ثانيًا ، انقر فوق Visual Basic لفتح محرر Visual Basic ، حيث نكتب الرمز. أو اضغط على Alt + 11 لفتح محرر Visual Basic .
- طريقة أخرى للفتح محرر Visual Basic هو فقط النقر بزر الماوس الأيمن فوق على ورقة العمل والنقر فوق عرض الرمز .
- سيؤدي هذا إلى فتح محرر Visual Basic . الآن ، اكتب الكود هناك.
كود فبا:
3673
- بعد ذلك ، لتشغيل الكود ، اضغط على F5 على لوحة المفاتيح أو انقر فوق الزر Rub Sub .
- أخيرًا ، يمكنك أن ترى أن المباراة هي وجدت في الموضع 5 .
🔎 كيف يعمل كود VBA؟
-
Sub example1_match()
: هذا يعني أننا نحدد إجراء فرعيًا بإعطاء اسم الماكرو. -
Range("G5").Value
: نريد الإخراج المراد تخزينه في الخلية G5 . -
WorksheetFunction
: باستخدام هذا الرمز سنتمكن من الوصول إلى وظائف VBA.
-
Match(Range("F5").Value, Range("D5:D10"), 0)
: هنا ، نستخدم وظيفة المطابقة في VBA. لأننا نريد أن نأخذ القيمة منالخلية F5 ومعرفة الموضع في النطاق D5: D10 . -
End Sub
: وهذا يعني أننا ننهي الإجراء.
اقرأ المزيد: Excel VBA لمطابقة السلسلة في العمود (5 أمثلة)
2. استخدم Excel VBA لمطابقة القيمة من ورقة عمل أخرى
يمكننا العثور على قيم مطابقة في النطاق من ورقة عمل أخرى ، باستخدام دالة VBA Match في Excel . افترض أن لدينا مجموعة بيانات في ورقة تسمى " البيانات " ونريد النتيجة في اسم الورقة " النتيجة ". ونستخدم نفس مجموعة البيانات. الآن ، دعنا نتبع الخطوات للقيام بذلك.
الخطوات:
- في ابدأ بنفس الرمز المميز للمثال السابق ، انتقل إلى علامة التبويب Developer على الشريط.
- ثم انقر فوق Visual Basic أو اضغط على Alt + F11 لفتح محرر Visual Basic .
- بدلاً من ذلك ، لفتح محرر Visual Basic ، ما عليك سوى النقر بزر الماوس الأيمن على الورقة وتحديد عرض الكود .
- الآن ، اكتب رمز VBA.
كود فبا:
9880
- بعد ذلك ، قم بتشغيل الكود بالضغط على مفتاح F5 أو النقر فوق الزر تشغيل Sub .
- ويتم العثور على النتيجة في ورقة " النتيجة ".
اقرأ المزيد: كيفية مطابقة البيانات في Excel من ورقتي عمل
قراءات مماثلة
- جمع كل التطابقات باستخدام VLOOKUP في Excel (3 سهلطرق)
- كيفية البحث عن تطابق حساس لحالة الأحرف في Excel (6 صيغ)
- كيفية مطابقة الأسماء في Excel حيث تختلف الهجاء (8 طرق )
3. Excel VBA Loops للحصول على القيمة المتطابقة في النطاق
لنفترض أننا نريد علامات متعددة لتطابق القيمة ، سنستخدم حلقات VBA لهذا الغرض. نحن نستخدم نفس مجموعة البيانات كما في السابق. الآن ، نريد موضع المطابقة في العمود G ، والعلامات التي نريد إيجاد التطابق موجودة في العمود F . دعونا نرى الخطوات لأسفل.
الخطوات:
- أولاً ، من الشريط ، انتقل إلى علامة التبويب Developer .
- ثانيًا ، لفتح Visual Basic Editor ، انقر فوق Visual Basic أو اضغط على Alt + F11 .
- أو ، ببساطة انقر بزر الماوس الأيمن فوق الورقة وحدد عرض الرمز .
- سيؤدي ذلك إلى فتح محرر Visual Basic .
- الآن ، اكتب الرمز هناك.
رمز VBA:
4344
- بعد ذلك ، يؤدي الضغط على المفتاح F5 أو النقر فوق الزر Run Sub إلى تشغيل الكود.
- وستتمكن من رؤية النتيجة في العمود G .
🔎 كيف يعمل رمز VBA؟
-
For i = 5 To 8
: هذا يعني أننا نريد تشغيل الحلقة بدءًا من الصف 5 وتنتهي بالصف 8 . -
Cells(i, 7).Value
: هذا يحفظ قيمة المواقع الناتجة في كل صف من 5 إلى 8 من الصفوف في العمود G وهو رقم العمود 7 . -
Match(Cells(i, 6).Value, Range("D5:D10"), 0)
: يمكن مطابقة الخلايا باستخدام وظيفة Match (i ، 6). تبحث القيم عن كل قيمة بحث موجودة في الصفوف من 5 إلى 8 من العمود السادس . ثم تم البحث في المصفوفة D5: D10 على ورقة excel حيث تتوفر البيانات.
اقرأ المزيد: البحث في Excel عن القيم المطابقة في عمودين
أشياء يجب وضعها في الاعتبار
- إذا كان نوع المطابقة مفقودًا أو غير محدد ، فمن المفترض أن يكون 1 .
- إذا لم يتم اكتشاف أي تطابق ، فسيكون حقل Excel ذي الصلة فارغًا.
- قد تكون قيمة البحث رقمًا أو حرفًا أو بيانات منطقية أو مرجع خلية إلى كمية أو نص ، أو الأهمية المنطقية.
الاستنتاج
ستساعدك الطرق المذكورة أعلاه على مطابقة القيم في نطاق في Excel VBA. ارجوا ان يساعدك هذا! إذا كان لديك أي أسئلة أو اقتراحات أو ملاحظات ، فيرجى إخبارنا في قسم التعليقات. أو يمكنك إلقاء نظرة على مقالاتنا الأخرى في مدونة ExcelWIKI.com !