هل تريد أتمتة المهام المتكررة في Excel VBA؟ تعرف على كيفية استخدام حلقة Do-while لتنفيذ مجموعة من الإجراءات بشكل متكرر حتى يتم استيفاء الشرط.

الحلقات هي جزء لا يتجزأ من أي لغة ترميز ، ويمكنك أتمتة الكثير من المهام المتكررة ، باستخدام مجموعة متنوعة من الحلقات ، اعتمادًا على اللغة المستخدمة. لا يختلف VBA من Excel عن الآخرين ، لأنه يقدم سلسلة من خيارات التكرار ، كل منها يخدم غرضًا مختلفًا.

يمكنك استخدام هذه الحلقات من خلال تحديد نقاط البداية والنهاية والشرط (الشروط) والمعلمات. إحدى هذه الحلقات البارزة داخل VBA هي حلقة do-while ، والتي يمكنك استخدامها للعمل مع أتمتة البيانات. إليك كيفية استخدام حلقة do-while في Excel VBA ، وهي منهجية حلقة أساسية دائمًا ، والتي يمكنها تبسيط مهامك اليدوية إلى حد كبير.

ما هي حلقة Do-while في Excel VBA؟

حلقة do-while بسيطة ومباشرة ؛ يمكنك استخدام هذه الحلقة لإجراء العطاءات الخاصة بك إذا كنت ترغب في إنشاء المخرجات المرغوبة أساسًا لشرط معين. يتم تنفيذ الحلقة حتى يصبح الشرط (الشروط) المحدد صحيحًا. بمجرد أن يواجه البرنامج قيمة False ، تنتهي الحلقة وتطبع النتائج في الخلايا المحددة.

instagram viewer

يمكنك استخدام حلقة do-while في مراحل مختلفة وبمعايير مختلفة ؛ يمكنك حتى استخدام حلقات متعددة داخل الحلقة الخارجية الرئيسية لتعزيز استخدامها. كمبتدئ ، يجب أن تشير إلى التفصيل دروس برمجة VBA لتعزيز معرفتك ومهاراتك في هذا المجال.

Do-while Loop's Syntax في Excel VBA

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

يفعلبينما [condition_reference]

[بيانات المعايير]

حلقة

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

أخيرًا ، بمجرد أن يتكبد شرط الحلقة قيمة False ، يتم تنفيذ الحلقة الأساسية والخروج منها. هذا هو الهيكل العام. يمكنك صقله لأداء إجراءات مختلفة. فيما يلي بعض الأمثلة للتعرف على طريقة عمل حلقة "do-while loop".

كتابة كود التكرار الأول

افترض أنك تريد عرض مضاعفات الرقمين في العمود A. الشرط هو طباعة الأرقام حتى يصل العداد إلى 20.

للقيام بذلك ، انتقل إلى علامة التبويب Developer في برنامج Excel وافتح محرر الترميز ؛ بدلاً من ذلك ، اضغط على Alt + F11 لفتح محرر الترميز مباشرة. في نافذة محرر التعليمات البرمجية ، انقر فوق إدراج علامة التبويب وإضافة وحدة جديدة.

تحتاج إلى كتابة كل الكود داخل نافذة الوحدة هذه. أضف الكود التالي داخل الوحدة:

فرعي dowhileloop ()

خافت مثل عدد صحيح

أ = 1

يفعلبينما أ <= 10

الخلايا (أ ، 1) = 2 * أ

أ = أ + 1

حلقة

نهاية الفرعية

وأوضح القانون

فيما يلي تفصيل للكود لمساعدتك على إتقان الأساسيات:

  • استخدم الروتين الفرعي: لبدء كتابة التعليمات البرمجية في Excel VBA ، أنشئ غلافًا خارجيًا بوظيفة روتينية فرعية (Sub). أعطه اسمًا ذا معنى ، والذي يتوافق مع الغرض من الكود. في هذا المثال ، يمكنك استخدام الاسم dowhileloop متبوعًا بـ ().
  • تحديد أنواع البيانات: يجب استخدام وظيفة البعد (خافت) للإعلان عن أنواع البيانات المتغيرة. من خلال إعلان نوع البيانات ، يمكنك جعل الكود الخاص بك فعالاً وتحسين سرعة التنفيذ. في هذه الحالة ، المتغير أ يخزن قيم الأعداد الصحيحة ، لذا استخدم نوع بيانات العدد الصحيح لتعريفه. يمكنك تخزين رقم صف البداية داخل هذا المتغير ، للإعلان عن نقطة بيانات البداية لحلقة do-while.
  • تحديد الشروط: الآن ، حان الوقت لتمرير الشرط للتحكم في حلقة do-while. يمكنك استخدام ال افعل اثناء الكلمات الرئيسية ، متبوعة بالشرط. نظرًا لأنك تريد تشغيل الحلقة عشر مرات ، فإنك تستخدم الشرط أ <= 10.
  • تمرير البيانات القابلة للتنفيذ: من المهم بالنسبة لك معرفة الفرق بين تعمل الخلايا ووظيفة النطاق في VBA. تستخدم دالة الخلايا مراجع الصفوف والأعمدة داخل VBA. على سبيل المثال ، أثناء التكرار الأول ، عندما تكون قيمة a = 1 ، تكون صيغة الخلية (1،1). في ذاكرة VBA ، يُترجم هذا إلى الخلية A1. في كل مرة يتم تنفيذ الحلقة ، تزداد قيمة المتغير المحدد وينتقل المرجع إلى الخلية التالية المتاحة.
  • زيادة المتغير الخاص بك: يمكنك تمرير أ = أ + 1 عبارة لزيادة قيم الخلية. هذا ينقل الحلقة إلى الجزء التالي من الشرط ؛ يستمر تشغيل الحلقة حتى يتكبد الشرط قيمة False.
  • اخرج من شرط التكرار الحلقي: بمجرد أن يكون الشرط خطأ ، تخرج الحلقة بالكلمة الأساسية Loop ، وأخيراً ، تخرج من الروتين الفرعي باستخدام الكلمة الأساسية End Sub.
  • تنفيذ الكود: نظرًا لأن الرمز جاهز ، ما عليك سوى الضغط على مفتاح F5 أو زر التشغيل الأخضر في شريط القائمة العلوي لتنفيذ الكود.

تُظهر النتيجة النهائية قائمة بالأرقام من 2 إلى 20 داخل العمود أ.

استخدام عمود مملوء مسبقًا كشرط حلقة

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

استنادًا إلى إجمالي الخلايا المأهولة في العمود A ، يمكنك طباعة مضاعفات اثنين في العمود B. تعمل الحلقة على العدد الإجمالي للخلايا التي تم ملؤها مسبقًا في العمود A. نظرًا لأن قيمة صف البداية هي واحد (أ = 1) ، فإن قيمة النهاية ديناميكية ويتم حسابها تلقائيًا بواسطة حلقة do-while.

باستخدام قيمة الصف الخاصة به ، يتنقل الرمز عبر كل خلية في العمود A ويضرب الرقم في 2. يظهر الإخراج في العمود ب.

إذا كان هناك أكثر من عشر قيم في العمود A ، فسيتم تشغيل الحلقة حتى تصادف قيمة فارغة في العمود الأول. وبالمثل ، يمكنك كتابة شروط أكثر تعقيدًا داخل حلقة do-while واستخدامها للتحقق من الظروف وعرض الإخراج حسب الحاجة.

استخدام عبارة IF ضمن حلقة Do-while Loop

مثل الحلقات المتداخلة ، يمكنك استخدام عبارة IF داخل حلقة Do-while ، لإضافة طبقة أخرى من الشرط. في مثل هذه الحالة ، تقوم حلقة do-while بتشغيل الحلقة بأكملها حتى يصبح الشرط خطأ ، ويتم تنفيذ جملة IF الداخلية في كل مرة يتم فيها تشغيل الحلقة.

في المثال أدناه ، تدور حلقة do-while خلال كل خلية في العمود A ، حتى تصادف خلية فارغة. بعد ذلك ، تتحقق جملة IF من قيمة كل خلية في العمود A وتطبع الإخراج في العمود B. بمجرد أن تصادف الحلقة الخارجية خلية فارغة في العمود A ، تتوقف الحلقة وتخرج من الروتين الفرعي.

الإخراج كالتالي:

حتى تكون القيمة في العمود A أقل من خمسة ، فإن القيمة الناتجة في العمود B هي خمسة. في A6 ، نظرًا لأن قيمة الخلية أكبر من خمسة ، فإن الناتج الناتج هو سبعة ، وهذا متزامن مع شرط IF.

كشف وظائف VBA متعددة الأوجه

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

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