كيفية استخدام iferror في vba (مع أمثلة)


يمكنك استخدام بناء الجملة الأساسي التالي لاستخدام الدالة IFERROR في VBA لعرض قيمة محددة في خلية إذا تمت مواجهة خطأ في صيغة Excel:

 SubIfError ()
    Dim i As Integer
    
    For i = 2 To 11
    Cells(i, 4).Value = WorksheetFunction.IfError(Cells(i, 3).Value, " Formula Error ")
    Next i
End Sub

يتحقق هذا المثال المحدد مما إذا كانت كل خلية في الصفوف من 2 إلى 11 من العمود الثالث من الورقة الحالية تحتوي على قيمة خطأ.

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

يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.

مثال: كيفية استخدام IFERROR في VBA

لنفترض أن لدينا مجموعة البيانات التالية في Excel والتي توضح إجمالي الإيرادات والوحدات المباعة لمنتج ما عبر متاجر مختلفة:

يستخدم العمود C صيغة لتقسيم الإيرادات على الوحدات المباعة للحصول على الإيرادات لكل وحدة.

ومع ذلك، لاحظ أن الصيغة تنتج قيمة #DIV/0! في بعض الخلايا حيث نحاول القسمة على صفر.

لنفترض أننا نريد إنشاء عمود جديد يعرض بدلاً من ذلك “خطأ في الصيغة” لهذه الخلايا.

يمكننا إنشاء الماكرو التالي للقيام بذلك:

 SubIfError ()
    Dim i As Integer
    
    For i = 2 To 11
    Cells(i, 4).Value = WorksheetFunction.IfError(Cells(i, 3).Value, " Formula Error ")
    Next i
End Sub

عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:

تعرض القيم الموجودة في العمود D إما نتائج الصيغة في العمود C أو قيمة “خطأ الصيغة” في حالة عرض قيمة خطأ.

لا تتردد في تغيير “خطأ في الصيغة” في أسلوب IfError في التعليمات البرمجية لعرض القيمة التي تريدها بدلاً من ذلك عند مواجهة خطأ.

ملاحظة : يمكنك العثور على الوثائق الكاملة لأسلوب VBA IfError هنا .

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:

VBA: كيفية استخدام IF OR لاختبار شروط متعددة
VBA: كيفية استخدام IF AND لاختبار شروط متعددة
VBA: كيفية استخدام IF NOT لاختبار ما إذا لم يتم استيفاء الشرط

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *