الرئيسية | مايكروسوفت اوفيس | مايكروسوفت اكسل | أساسيات VBA إكسل – 06 الجملة الشرطية IF

أساسيات VBA إكسل – 06 الجملة الشرطية IF


الجملة If … Then … Else هى جمله شرطية تتأكد من تحقق شرط معين وفى حالة تحقق هذا الشرط يتم تنفيذ عملية معينة وفى حالة عدم تحقق هذا الشرط يتم تنفيذ عملية أخرى.

أساسيات VBA إكسل - 06 الجملة الشرطية IF

الشكل العام يكون كالتالى

If الشرط Then
' العملية التى سيتم تنفيذها عند تحقق الشرط
Else
' العملية التى سيتم تنفيذها فى حالة عدم تحقق الشرط
End if

تمرين 1:
نرغب فى التحقق من أن قيمة الخلية B3 أكبر من 25 أم لا، وفى حالة أنها أكبر من أو تساوى 25 يتم كتابة Allowed فى الخلية المجاورة C3 وإذا كانت أقل من 25 يتم كتابة Not Allowed فى الخلية المجاورة C3
لذلك سيكون الكود كالتالى

1
2
3
4
5
6
7
Sub CheckAge()
If Range("B3").Value >= 25 Then
    Range("C3").Value = "Allowed"
    Else
    Range("C3").Value = "Not Allowed"
End If
End Sub

تفسير الكود السابق

  • السطر الأول و الأخير هما بادئة ونهاية الماكرو الذى سنكتب به الكود، وتم تسمية الماكرو بـ (CheckAge)
  • السطر الثانى يقوم بمقارنة القيمة التى بالخلية B3 بالقيمة 25
  • السطر الثالث يعمل على أدراج Allowed فى الخلية C3 إذا تحقق الشرط B3>= 25
  • السطر الخامس يعمل على أدراج Not Allowed فى الخلية C3 إذا لم يتحقق الشرط B3>= 25
  • السطر السادس يعمل على إخبار الإكسل أننا إنتهينا من الجملة IF

الأن عليك أن تتأكد من صحة الكود السابق (واجب!)

ملاحظات :
الهدف من هذا المثال هو التعرف على كيفية التعامل مع الجملة الشرطية If … Then … Else
يمكننا إستخدام الدالة IF للقيام بنفس الوظيفة؛ وإذا لاحظت أن هناك تشابه فى طريقة عمل الجملة الشرطية If … Then … Else و الدالة IF

=IF(C3>=25,”Allowed”,”Not Allowed”)

تمرين 2:
نرغب فى كتابة كود يقوم بإخفاء / إظهار ال Gridlines (الشبكة التى توضح حدود الخلايا)

فكرة الكود :

  • سنجعل الكود يتعرف على الوضع الحالى لل Gridlines
  • فإذا كانت ال Gridlines مفعلة True فيجب على الكود أن يقوم بإلغائها False
  • أما إذا كانت ال Gridlines غير مفعلة False فيجب على الكود أن يقوم بتفعيلها True

إذن الكود سيكون كالتالى

If ActiveWindow.DisplayGridlines = False Then
ActiveWindow.DisplayGridlines = True
Else
ActiveWindow.DisplayGridlines = False
End If

فيديو يشرح الجملة الشرطية IF في VBA إكسل

شاهد أيضاً

إختصارات مايكروسوفت اكسل 01

إختصارات الاكسل كثيرة منها ما يتم من خلال لوحة المفاتيح Keyboard ومنها ما يتم من ...