كيفية استخدام ifna في vba (مع مثال)
يمكنك استخدام الأسلوب IfNa في VBA لإرجاع قيمة محددة إذا قامت الصيغة بإنشاء خطأ #N/A .
فيما يلي طريقة شائعة لاستخدام IfNa عمليًا:
Sub UseVLOOKUP()
With Application
Range(" F2 ").Value = .IfNa(.Vlookup(Range(" E2 "), Range(" A2:C11 "),3,False), "No Value Found")
End With
End Sub
يحاول هذا الماكرو تحديدًا استخدام الدالة VLOOKUP للعثور على القيمة في الخلية E2 في النطاق A2:C11 .
إذا لم يتم العثور على القيمة في الخلية E2 ، فستعطي الصيغة #N/A .
ومع ذلك، يمكننا استخدام التابع IfNa لإرجاع “لم يتم العثور على قيمة” بدلاً من #N/A .
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: كيفية استخدام IfNa في VBA
لنفترض أن لدينا مجموعة البيانات التالية في Excel والتي تحتوي على معلومات حول العديد من لاعبي كرة السلة:
لنفترض أننا نريد البحث في مجموعة البيانات عن اسم الفريق “Kings” وإرجاع القيمة المقابلة في عمود المساعدة.
يمكننا إنشاء الماكرو التالي للقيام بذلك:
Sub UseVLOOKUP()
With Application
Range(" F2 ").Value = .IfNa(.Vlookup(Range(" E2 "), Range(" A2:C11 "),3,False), "No Value Found")
End With
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
يقوم الماكرو بإرجاع قيمة 3 تمريرات للملوك بشكل صحيح.
لنفترض الآن أننا قمنا بتغيير اسم الفريق في الخلية E2 إلى “Grizzlies”، وهو غير موجود في مجموعة البيانات.
عندما نقوم بتشغيل هذا الماكرو مرة أخرى، فإنه سيرجع “لم يتم العثور على قيمة” لأنها القيمة التي حددناها والتي يجب إرجاعها إذا أدت الدالة VLOOKUP إلى خطأ #N/A.
يُرجع الماكرو “لم يتم العثور على قيم” نظرًا لعدم وجود فريق Grizzlies في عمود الفريق.
ملاحظة : يمكنك العثور على الوثائق الكاملة لأسلوب VBA IfNa هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
فبا: كيفية استخدام مطابقة الفهرس
فبا: كيفية فرز ورقة حسب أعمدة متعددة
VBA: كيفية التحقق مما إذا كانت السلسلة تحتوي على سلسلة أخرى