عمل VBA حتى التكرار | أمثلة خطوة بخطوة لاستخدام Do until في VBA

ماذا تفعل حتى التكرار في VBA Excel؟

في VBA Do Until Loop ، نحتاج إلى تحديد المعايير بعد العبارة until والتي تعني متى نريد أن تتوقف الحلقة وأن تكون عبارة النهاية هي الحلقة نفسها. لذلك إذا كان الشرط FALSE ، فسيستمر في تنفيذ العبارة داخل الحلقة ولكن إذا كان الشرط صحيحًا على الفور ، فسيخرج من عبارة Do until.

نظرًا لأن الكلمات نفسها تقول أنه للقيام ببعض المهام حتى يتم الوصول إلى معيار ، افعل حتى يتم استخدام الحلقة في جميع لغات البرمجة تقريبًا ، في VBA أيضًا نستخدم أحيانًا Do until loop. يعني Do until Loop القيام بشيء ما حتى يصبح الشرط صحيحًا. إنها مثل وظيفة منطقية تعمل على أساس صواب أو خطأ.

هذا هو عكس حلقة Do while حيث يقوم Do while بتشغيل الحلقات طالما أن الشرط هو TRUE.

بناء الجملة

تحتوي حلقة Do until على نوعين من بناء الجملة.

بناء الجملة # 1 

 افعل حتى حلقة [الحالة] [أداء بعض المهام] 

بناء الجملة # 2

 نفذ [تنفيذ بعض المهام] التكرار حتى [الحالة] 

كلاهما متشابهان للغاية وهناك تمايز بسيط واحد.

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

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

مثال

أعلم أنه ليس من السهل فهم أي شيء في الجزء النظري ، لكن لا داعي للقلق. سنقدم لك أمثلة سهلة لفهم الحلقة. واصل القراءة. لبدء التعلم ، دعنا ننفذ مهمة إدخال أول 10 أرقام تسلسلية من الخلية A1 إلى A10.

يمكنك تنزيل قالب VBA Do حتى Excel هنا - VBA Do until Excel Template

اتبع الخطوات التالية لتطبيق حلقة "التنفيذ حتى".

الخطوة 1: قم بإنشاء اسم ماكرو أولاً لبدء الإجراء الفرعي.

رمز:

 Sub Do_Until_Example1 () End Sub 

الخطوة 2: تحديد متغير على أنه "طويل".  لقد حددت "x" كنوع بيانات طويل.

خافت × طويل

الخطوة 3: أدخل الآن كلمة "افعل حتى".

افعل حتى

الخطوة 4: بعد بدء اسم الحلقة ، أدخل الشرط كـ "x = 11".

 افعل حتى x = 11

س = 11 هو الاختبار المنطقي الذي طبقناه. إذن ، هذا الخط يقول لتشغيل الحلقة حتى x يساوي 11.

الخطوة 5: تطبيق خاصية CELLS ودعنا ندخل الأرقام التسلسلية من 1 إلى 10.

الخلايا (س ، 1) ، القيمة = س

ملاحظة: لقد ذكرنا هنا أن "x" تبدأ من 1 ، لذا في البداية تكون قيمة x تساوي 1. أينما تكون "x" تساوي 1.

الخطوة 6: الآن أغلق الحلقة بإدخال كلمة "LOOP".

 Sub Do_Until_Example1 () Dim x As Long Do Long Do حتى x = 11 Cell (x، 1) .Value = x Loop 

End Sub

حسنًا ، لقد انتهينا من جزء الترميز ، والآن سنختبر الرموز سطراً بسطر لفهم الحلقة بشكل أفضل.

لتشغيل رمز سطر بسطر ، اضغط أولاً على المفتاح F8.

سيتم أولاً تحديد اسم الماكرو باللون الأصفر.

عندما يمكنك رؤية الخط الأصفر ، فإنه يشير إلى أنه لم يتم تنفيذه على وشك التنفيذ إذا قمت بالضغط على المفتاح F8 مرة أخرى.

الآن اضغط على المفتاح F8 مرة أخرى ، سينتقل الخط الأصفر إلى Do until Loop.

الآن لفهم الحلقة ، ضع المؤشر على المتغير "x" وشاهد قيمة المتغير "x".

إذن ، x = 0. نظرًا لأن الخط المميز هو السطر الأول في الحلقة ، فإن قيمة "x" تساوي صفرًا ، لذا اضغط على المفتاح F8 مرة أخرى وشاهد قيمة "x". قبل هذا الخروج ، يتم تشغيل الكود وتعيين القيمة إلى "x" على أنها 1.

الآن ابدأ تشغيل الحلقة مرة أخرى بالضغط على المفتاح F8. انظر إلى قيمة "x".

الآن تظهر قيمة "x" على النحو التالي: للحصول على قيمة تزايدية للمتغير "x" ، نحتاج إلى إعادة تعيين قيمة المتغير "x" على أنها x = x + 1 داخل الحلقة.

الآن اضغط على المفتاح F8 مرة أخرى ويجب أن نحصل على القيمة 1 في الخلية A1.

الآن اضغط على المفتاح F8 مرة أخرى وشاهد قيمة "x".

قيمة المتغير "x" هي 2 الآن. لذا فإن شرطنا ينص على تشغيل الحلقة حتى يصبح الشرط صحيحًا ، لذلك تستمر الحلقة في العمل حتى تصبح قيمة "x" 11.

اضغط على F8 مرة أخرى وسوف يقفز مرة أخرى إلى سطر حلقة "التنفيذ حتى".

اضغط على المفتاح F8 مرتين أخريين ، سنحصل على القيمة 2 في الخلية A2.

اضغط على المفتاح F8 مرة أخرى وستصبح قيمة "x" 3 الآن.

اضغط على المفتاح F8 مرة أخرى وسوف يقفز مرة أخرى إلى الحلقة مرة أخرى.

على هذا النحو ، ستستمر هذه الحلقة مرة أخرى في تنفيذ المهمة حتى تصبح قيمة "x" 11. الآن قمت بتنفيذ الحلقة حتى تصبح قيمة "x" 11.

الآن إذا ضغطت على المفتاح F8 فسوف يعود إلى الحلقة.

ولكن إذا ضغطت على المفتاح F8 الآن فسوف يخرج من الحلقة لأن الشرط المطبق يصبح "TRUE" أي x = 11.

لذلك لدينا الآن أرقام تسلسلية من 1 إلى 10 في ورقة إكسل.

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


$config[zx-auto] not found$config[zx-overlay] not found