الدرس الرابع الجمل الشرطيه في vba اكسل

 الدرس الرابع الجمل الشرطيه في vba 



الجمل الشرطية وكيفية استخدامها, ولما لها من الاهمية الكبيرة في الاستخدامات المتعددة والمتكررة حتى يكاد لا يخلو يرنامج من استخدام احدى الدوال الشرطية المتعددة ، وبالنسبة الي اجزم انها اهم جمل ودوال ال vba لذلك سابدا بعمل سلسلة لشرح هذه الدوال والجمل 


وسنقوم بتداولها بطرق سهلة حتى تتم الفائدة للكل ومهما كان مستوى المتابع


➖ اما الجمل والدوال التي سنتاولها فهي :



1. جملة اذا المشروطة if ... then


2. جملة الانتقال الشرطية if .. then .. else


3.جملة الانتقال الشرطية if .. then .. else المتعددة والمتشابكة


4.جملة التفرغ المتعددة case


5.دالة التحويل switch


6.دالة الاختيار المرتب choose


الموضوع ليس معقد واسهل مما تتوقعونه وستلاحظون الامكانات الهائلة لهذ الدوال والجمل وتعد من اهم دوال ال vba


لكن يجب فهمها بالطريقة الصحيحة ومتابعتها والتطوير في استخدامها





جملة شرط If Then البسيطه او التي تحتوي على شرط واحد


القاعده الرئيسية لكتابه شرط  If Then واحد

تحتوي جملة If Then على تعبير منطقي يسمح بشرط واحدة أو أكثر.


إذا كان الشرط صحيحًا ، فسيتم تنفيذ العبارات الموجودة ضمن الشرط (الشروط). إذا كان الشرط خطأ ، يتم تنفيذ العبارات بعد حلقة If



مثال 

Private Sub If_demo_Click ()  
     Dim x As Integer  
     Dim y As Integer  
     x = 20  
     y = 10  
     If x > y Then   
        MsgBox "x اكبر من y"  
     End If   
End Sub



شرح مثال 

عرفنا متغيرين x, y ثم اعطينا لكل متغير قيمه رقمية وفي شرط  If x > y Then اذا كانت x اكبر من y يطبع رساله x اكبر من y




القاعده الرئيسية لكتابه شرط  If Then واحد


جملة If Then Else المركبه في vba اكسل

جملة If Then Else المركبه


تحتوي جملة If على تعبير منطقي يسمح بعبارة واحدة أو أكثر ، إذا كان الشرط صحيحًا ، يتم تنفيذ العبارات الموجودة ضمن الشرط If. إذا كان الشرط خاطئًا ، فسيتم تنفيذ العبارة ضمن الشرط الآخر.



مثال 


Private Sub If_demo_Click ()  
Dim x As Integer  
Dim y As Integer  
x = 20  
y = 40  
If x > y Then   
MsgBox "x is greater than y"  
Else  
MsgBox "y is greater than x"  
End If   
End Sub





شرح مثال 

نفس مثال سابق لكن اضفنا شرطين اي عندما وضعنا شرط  If x > y Then اذا تحقق شرط  يتم طباعه عباره x واذا لم يتحقق شرط يتم طباعه عباره y 





جملة شرط ElseIf متعدده والمتشابكه  في vba اكسل

جملة شرط ElseIf متعدده والمتشابكه


تسمح عبارة If بواحد أو أكثر من عبارات If Else التي تحتوي على تعبير منطقي. ثم يتبعه بيان Else افتراضي يتم تنفيذه عندما تصبح جميع العبارات False او true



لا يمكن اختزال كل شرط إلى بيانين بسيطين. لديك أيضًا أكثر من خيارين في التعليمات البرمجية الخاصة بك. في هذه الحالة ، يمكنك استخدام جملة ElseIf.


يمكنك استخدام أكثر من جزء أو جزأين ElseIf ، بقدر ما تحتاج كما هو موضح في المثال أدناه 



Private Sub If_demo_Click ()  
Dim x As Integer  
Dim y As Integer  
x = 40  
y = 40  
If x > y Then   
MsgBox "x is greater than y"  
ElseIf y > x Then  
MsgBox "y is greater than x"  
Else  
MsgBox "x and y are Equal"  
End If   
End Sub


شرح المثال 


عرفنا متغيرين x, y ونطينه كل متغير قيمه 40 ثم وضعنا الشروط  


الشرط الاول اذا كانت قيمه x اكبر من y اطبع عباره x 


الشرط الثاني اذا كانت قيمه y اكبر من x اطبع عباره y 


ينتهي الكود بالشرط الثالث حيث تساوت قيمه y, x 





مثال اخر عن الشرط المتعدد 
مثال اخر عن الشرط المتعدد


الكود في الصوره عباره عن ثلاث شروط عند تنفيذ الكود تظهر شاشه تحتوي على 3 ازرار Yes, No,  Cancel  عند الظغط على اي زر تظهر رساله الزر نفسه كما مبين في الصوره 


Switch التبديل في vba اكسل
Switch التبديل


لتنفيذ مجموعة من العبارات اعتمادًا على قيمة التعبير ، فإننا نستخدم حالة التبديل. هنا ، تسمى كل قيمة حالة ، ويتم تشغيل المتغير بناءً على كل حالة. يتم تنفيذ حالة العبارة الأخرى إذا كان تعبير الاختبار لا يتطابق مع أي حالة من الحالات المحددة من قبل المستخدم.


الحالة الأخرى عبارة عن بيان اختياري ضمن الحالة المختارة. ومع ذلك ، فمن الممارسات البرمجية الجيدة دائمًا أن يكون لديك عبارة Case Else.



المثال التالي يوضح استخدام Switch



Private Sub switch_demo_Click ()  

Dim MyVar As Integer  
MyVar = 1  
Select Case MyVar 
 
Case 1  
MsgBox "الرقم هو  رقم مركب" 
 
Case 2  
MsgBox "الرقم هو رقم زوجي"  

Case 3  
MsgBox "الرقم هو رقم فردي" 
 
Case Else   
MsgBox "الرقم غير معروف "  

End Select  

End Sub







النتيجه هي تكون رقم فردي في الشرط الثالث 





تعليقات