كيفية استخدام isna في vba (مع أمثلة)
يمكنك استخدام أسلوب IsNA في VBA للتحقق مما إذا كانت خلية معينة تحتوي على #N/A أم لا.
ستعيد هذه الدالة TRUE إذا كانت الخلية تحتوي على #N/A أو FALSE بخلاف ذلك.
فيما يلي طريقة شائعة لاستخدام هذه الطريقة عمليًا:
Sub UseIsNA()
Dim i As Integer
For i = 2 To 10
Range("B" & i) = WorksheetFunction.IsNA(Range("A" & i))
Next i
End Sub
سيتحقق هذا الماكرو المحدد مما إذا كانت كل خلية في النطاق A2:A10 تحتوي على #N/A أم لا.
إذا كانت الخلية تحتوي على #N/A ، فسيتم إرجاع TRUE في الخلية المقابلة في النطاق B2:B10 .
وبخلاف ذلك، سيتم إرجاع FALSE .
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: كيفية استخدام IsNA في VBA
لنفترض أن لدينا عمود القيم التالي في Excel:
لنفترض أننا نريد التحقق مما إذا كانت كل خلية في العمود A تحتوي على #N/A أم لا.
يمكننا إنشاء الماكرو التالي للقيام بذلك:
Sub UseIsNA()
Dim i As Integer
For i = 2 To 10
Range("B" & i) = WorksheetFunction.IsNA(Range("A" & i))
Next i
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
يعرض العمود B نتيجة تخبرنا ما إذا كانت كل خلية مطابقة في العمود A تساوي #N/A أم لا .
لاحظ أن الخلايا الفارغة ليست مثل #N/A . عند مواجهة خلية فارغة، تقوم طريقة IsNA بإرجاع FALSE .
لاحظ أيضًا أنه يمكنك استخدام عبارة If لإرجاع قيم أخرى غير TRUE و FALSE .
على سبيل المثال، يمكننا إنشاء الماكرو التالي:
Sub UseIsNA()
Dim i As Integer
For i = 2 To 10
If WorksheetFunction.IsNA(Range("A" & i)) Then
Range("B" & i) = "Cell Contains #N/A"
Else
Range("B" & i) = "Cell Does Not Contain #N/A"
End If
Next i
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
يحتوي العمود B الآن على نص محدد يخبرنا ما إذا كانت الخلية المقابلة في العمود A تحتوي على #N/A أم لا .
ملاحظة : يمكنك العثور على الوثائق الكاملة لأسلوب VBA IsNA هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
كيفية تحويل السلسلة إلى int في VBA
كيفية تحويل سلسلة إلى مضاعفة في VBA
كيفية التحقق مما إذا كانت السلسلة تحتوي على سلسلة أخرى في VBA