جدول المحتويات
إذا كنت تبحث عن بعض أسهل الطرق للعثور على تطابق تام باستخدام VBA ، فستجد هذه المقالة مفيدة. لذلك ، دعنا نبدأ بالمقال ونتعرف على طرق العثور على تطابق تام.
تنزيل المصنف
VBA Find Exact Match.xlsm
5 طرق لإيجاد تطابق تام باستخدام VBA
لقد استخدمت الجدول التالي الذي يحتوي على سجلات نتائج بعض الطلاب. سأشرح طرقًا مختلفة للعثور على التطابق التام باستخدام هذا الجدول بمساعدة VBA.
لهذا الغرض ، استخدمت إصدار Microsoft Excel 365 ، يمكنك استخدام أي إصدارات أخرى وفقًا لراحتك.
الطريقة الأولى: البحث عن تطابق تام في نطاق من الخلايا
إذا كنت تريد العثور على مطابقة تامة لسلسلة مثل اسم الطالب ثم ابحث عن موضع الخلية لهذا الطالب ، ثم يمكنك القيام بذلك باتباع هذه الطريقة.
هنا ، سأجد تطابقًا تامًا لـ اسم الطالب "جوزيف ميكاهيل" .
الخطوة 01 :
انتقل إلى المطور Tab & gt؛ & gt؛ Visual Basic الخيار
بعد ذلك ، سيتم فتح محرر Visual Basic .
➤ انتقل إلى Insert Tab & gt؛ & gt؛ الوحدة النمطية الخيار
بعد ذلك ، سيتم إنشاء وحدة .
الخطوة 02 :
➤ اكتب الكود التالي
4752
هنا ، "مطابقة تامة" هو اسم الورقة و “B5: B10” هومجموعة من أسماء الطلاب ، و "جوزيف مايكل" هو اسم الطالب الذي سيتم اكتشافه. تم الإعلان عن
rng ككائن نطاق و str كمتغير سلسلة لتخزين عنوان العنصر الذي تم البحث عنه.
ستقوم العبارة IF بتعيين عنوان العنصر إلى المتغير str .
اضغط F5
النتيجة :
بعد ذلك ، ستحصل على التالية صندوق الرسائل الذي يحتوي على موضع خلية الطالب المسمى "جوزيف مايكل" .
اقرأ المزيد: البحث داخل نطاق باستخدام VBA في Excel: بما في ذلك التطابقات التامة والجزئية
الطريقة الثانية: البحث عن التطابق التام واستبداله باستخدام VBA
سأعرض طريقة للعثور على اسم الطالب المشار إليه ثم استبداله باسم آخر لأنه تمت كتابة هذا الاسم عن طريق الخطأ هنا. يمكنك العثور على السلسلة التي تريدها واستبدالها باتباع هذه الطريقة.
الخطوة -01 :
➤ اتبع الخطوة 01 من الطريقة الأولى
4338
هنا ، "البحث والاستبدال" هو اسم الورقة و "B5: B10" هو نطاق أسماء الطلاب ، و "Donald Paul" هو اسم الطالب الذي سيتم اكتشافه ثم "Henry Jackson" سوف أن يكون اسم الطالب بدلاً من الاسم السابق.
WITH سوف تتجنب عبارة WITH تكرار جزء الرمز في كل عبارة.
IF بيان سوف يعينعنوان العنصر إلى المتغير str وستحل الحلقة DO محل جميع تكرارات كلمة البحث.
➤Press F5
النتيجة :
بعد ذلك ، ستحصل على اسم الطالب الجديد كـ "Henry Jackson" .
الطريقة الثالثة: البحث عن مطابقة تامة وحساسة لحالة الأحرف
إذا كنت تريد العثور على تطابق حساس لحالة الأحرف ، فاتبع هذه الطريقة. هنا ، لدي اسمان مشابهان لبعضهما البعض ولكن هناك اختلاف في الحالة وبناءً على الحالة سأستبدل اسم الطالب الأخير.
الخطوة -01 :
➤ اتبع الخطوة -01 من الطريقة -1
9773
هنا ، "حساسة لحالة الأحرف" هو اسم الورقة و "B5: B10" هو نطاق أسماء الطلاب ، و "Donald Paul" هو اسم الطالب الذي سيتم اكتشافه ، و ثم "Henry Jackson" سيكون اسم الطالب بدلاً من الاسم السابق.
WITH سوف تتجنب العبارة تكرار جزء من الكود في كل عبارة.
العبارة IF ستخصص عنوان العنصر للمتغير str وستحل الحلقة DO محل جميع تكرارات كلمة البحث.
اضغط على F5
النتيجة :
الآن ، وفقًا للحالة ، سيتم تغيير اسم الطالب إلى "Henry Jackson" .
قراءات مماثلة:
- كيفية البحث عن سلسلة في خلية باستخدام VBA في Excel (طريقتان)
- فباالبحث في العمود في Excel (7 مناهج)
- كيفية البحث عن سلسلة باستخدام VBA في Excel (8 أمثلة)
الطريقة الرابعة: استخدام وظيفة InStr
لنفترض أنك تريد مطابقة تمرير أو فشل في التوافق مع أسماء الطلاب اعتمادًا على عمود النتيجة حيث <تم كتابة 12> اجتياز أو فشل . للعثور على هذه السلسلة في عمود النتيجة وكتابة "ناجح" في عمود الحالة للطلاب الذين اجتازوا الاختبار ، يمكنك استخدام وظيفة InStr .
الخطوة -01 :
➤ اتبع الخطوة -01 من الطريقة -1
1871
هنا ، نطاق الخلايا هو C5: C10 وهو عمود النتيجة
InStr (الخلية. القيمة ، "تمرير") & GT ؛ 0 هي الحالة التي يكون فيها الرقم أكبر من الصفر (عندما تحتوي الخلية على "تمرير" ) ، فسيستمر السطر التالي ويعطي الإخراج في الخلية المجاورة على أنه تم اجتيازه .
إذا أصبح الشرط خاطئًا ، فهذا يعني أن الخلية لا تحتوي على أي خلية "تمرير" ثم السطر الموجود أسفل ELSE سينفذ ويعطي قيمة الإخراج في الخلية المجاورة كـ فارغ .
ستستمر هذه الحلقة لكل خلية.
➤ اضغط F5
النتيجة :
بعد ذلك ، ستحصل على حالة "ناجح" للطلاب الذين اجتازوا.
الطريقة الخامسة: البحث عن المطابقة التامة واستخراج البيانات
إذا كنت تريد استخراجالبيانات المقابلة لطالب اسمه "مايكل جيمس" ثم يمكنك اتباع هذه الطريقة.
الخطوة -01 :
➤Follow الخطوة 01 من الطريقة الأولى
7424
هنا ، لقد استخدمت B100 باعتباره نشط نطاق الورقة (يمكنك استخدام أي نطاق وفقًا لاستخدامك).
InStr (1، Range (“B” & amp؛ i)، “Michael James”) & gt؛ 0 هو شرط التحقق مما إذا كانت الخلية الموجودة في العمود B تحتوي على Michael James .
Range (“E "& amp؛ icount & amp؛": G "& amp؛ icount) هو النطاق الذي تريد بيانات الإخراج الخاصة بك فيه و النطاق (" B "& amp؛ i & amp؛": D "& amp؛ i). القيمة سيعطي القيم من العمود B إلى D .
➤Press F5
النتيجة :
بعد ذلك ، ستحصل على البيانات المستخرجة التالية للطلاب الذين لديهم الاسم Michael James .
قسم الممارسة
للقيام بالممارسة بنفسك قدمنا قسمًا تدريب كما هو موضح أدناه في ورقة باسم ممارسة . يرجى القيام بذلك بنفسك.
الاستنتاج
في هذه المقالة ، حاولت تغطية أسهل الطرق للعثور على تطابق تام باستخدام VBA في Excel بشكل فعال. اتمنى انك ستجده مفيدا. إذا كان لديك أي اقتراحات أو أسئلة ، فلا تتردد في مشاركتها معنا.