كيفية إرجاع قيمة من دالة vba (مع أمثلة)
لإرجاع قيمة من دالة في VBA، يجب عليك تعيين القيمة لاسم الدالة.
على سبيل المثال، يمكننا إنشاء الدالة التالية لقسمة قيمتين ومن ثم إرجاع نتيجة القسمة:
Function DivideValues(x,y)
DivideValues = x / y
End Function
اسم هذه الدالة هو DivideValues ، لذا لإرجاع قيمة من هذه الدالة نحتاج إلى تعيين نتيجة x/y إلى متغير يحمل نفس الاسم من DivideValues .
إذا كانت وظيفتك تتضمن منطق If Else ، فيمكنك تعيين القيمة لاسم الوظيفة عدة مرات.
على سبيل المثال، يمكنك إنشاء الدالة التالية التي ترجع “لا يمكن القسمة على صفر” إذا حاولت القسمة على صفر، أو ببساطة ترجع نتيجة القسمة:
Function DivideValues(x,y)
If y = 0 Then
DivideValues = " Cannot divide by zero "
Else
DivideValues = x / y
End If
End Function
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: كيفية إرجاع قيمة من دالة VBA
لنفترض أننا نريد إنشاء دالة في VBA لتقسيم قيمة الخلية A2 على قيمة الخلية B2 :
يمكننا إنشاء الوظيفة التالية للقيام بذلك:
Function DivideValues(x,y)
DivideValues = x / y
End Function
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
ترجع الدالة القيمة 5 ، وهي ناتج قسمة 50 على 10.
يمكننا أيضًا إنشاء دالة تستخدم منطق If Else للتحقق أولاً مما إذا كانت القيمة التي نقسم عليها لا تساوي الصفر:
Function DivideValues(x,y)
If y = 0 Then
DivideValues = " Cannot divide by zero "
Else
DivideValues = x / y
End If
End Function
إذا قمنا بتغيير القيمة في الخلية B2 ثم استخدمنا هذه الوظيفة لإجراء عملية القسمة، فسنحصل على النتيجة التالية:
وبما أننا حاولنا القسمة على صفر، يتم إرجاع “لا يمكن القسمة على صفر” بواسطة الدالة.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
كيفية التعليق على كتلة من التعليمات البرمجية في VBA
كيفية التحقق من وجود الملف باستخدام VBA
كيفية إنشاء مجلدات باستخدام VBA