الجملة If … Then … Else هى جمله شرطية تتأكد من تحقق شرط معين وفى حالة تحقق هذا الشرط يتم تنفيذ عملية معينة وفى حالة عدم تحقق هذا الشرط يتم تنفيذ عملية أخرى.
الشكل العام يكون كالتالى
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 |
الى هنا انتهى الدرس
على موعد ان شاء الله فى جديد
مع تحيات أخوكم عبدالجيد أبومحمد وابراهيم