خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
آموزش برنامه نویسی اکسل : تکرار عملیات با حلقه ها
فرض کنید که می خواهید کاری به دفعات در یک ماکرو تکرار کنید. برای مثال ممکن است بخواهید تمامی برگه های مخفی را نمایان سازید، و یا 12 برگه به فایل اکسل خود اضافه کنید و هر کدام از آنها را به اسم یکی از ماههای سال نامگذاری کنید.
واقعیت اینست که شما با شرایط زیادی روبرو خواهید شد که تکرار دستورات مشابه یک بخش ضروری از کار خواهد بود. در اغلب موارد، نوشتن دستورات جداگانه برای هر کدام از کارها، غیر عملی و حتی برخی اوقات کاملاً غیر ممکن خواهد بود. نیاز به مدیریت مجموعه دستورات تکراری به صورت موثر، دقیقاً دلیلی است که حلقه ها به خاطرش ایجاد شده اند.
یک حلقه یک روش برای انجام یک کار بیش از یک بار است. ممکن است نیاز داشته باشید تا تک تک برگه های موجود در فایل اکسلتان را کپی کنید و هر کدام را به صورت جداگانه در یک فایل اکسل مستقل ذخیره نمایید. یا، ممکن است یک لیست از هزاران رکورد داشته باشید و بخواهید تا هر جا که مقدار سلول A با مقدار سلول زیر آن متفاوت بود، در آن نقطه یک ردیف خالی بیفزایید. شاید برگۀ شما ده ها سلول دارای توضیحات (comments) دارد و شما می خواهید تا بدون اینکه تک تک این کامنت ها را ویرایش کنید، یک متن را به ابتدای تمامی آنها اضافه کنید.
به جای اینکه این نوع کارهار را به صورت دستی انجام بدهید، و یا اینکه یک ماکروی غیر عملی (و گاهی اوقات غیر ممکن) را ضبط کنید که این تکرارها را مدیریت کند، شما می توانید از حلقه ها استفاده کنید، با استفاده از حلقه ها می توانید این نوع کارها را با کدهای کمتر و همینطور انعطاف پذیری و کنترل بیشتر بر روی تعداد تکرارها انجام بدهید. در VBA حلقه ساختاری است که یک یا چندین دستور را اجرا می کند، و سپس این فرآیند را تکرار می کند و این تکرارها را به تعداد دفعاتی که شما مشخص می نمایید ادامه می دهد. هر چرخه از این فرآیند در درون حلقه یک تکرار (iteration) نامیده می شود.
تعداد تکرارهای حلقه بستگی به ماهیت کاری دارد که مشغول انجامش هستید. تمامی حلقه ها در یکی از این دو دسته بندی قرار دارند. یک حلقه با تعداد تکرار ثابت که این تعداد تکرار را شما به صورت مستقیم و هاردکد (hardcode) در حلقه مشخص می نمایید. یک حلقۀ با تعداد دفعات تکرار نامشخص که در این نوع تعداد کارها به صورت انعطاف پذیر و تحت شرایط خاصی ادامه پیدا کرده یا متوقف می شوند.
به عنوان مثالی از یک حلقه با تعداد تکرار ثابت، می توانیم به حلقه ای اشاره کنیم که قرار است به ازاء هر ماه از سال عملیاتی را انجام بدهد و در نتیجه تعداد دفعات تکرار آن 12 مرتبه خواهد بود. به عنوان مثالی از یک حلقه با تعداد تکرار نامشخص، می توان به حلقه ای اشاره کرد که قرار است به تعداد برگه های موجود در فایل اکسل شما کاری را انجام بدهد، از آنجا که تعداد برگه ها نامشخص است و در هر زمان توسط کاربر می تواند برگه هایی اضافه یا حذف شوند، تعداد دفعات تکرار در اینجا در ابتدای امر مشخص نیست.
زبان برنامه نویسی VBA چندین ساختار متفاوت برای حلقه ها فراهم آورده است، و حداقل یکی از آنها برای وضعیتی که در آن نیاز به تکرار دارید مناسب می باشد. در جدول زیر انواع حلقه ها در VBA آمده است که البته طی آموزش های بعدی به تک تک آنها خواهیم پرداخت.
آموزش قبلی : آموزش برنامه نویسی اکسل : جعبه های ورودی (Input Boxes)
آموزش بعدی : آموزش برنامه نویسی اکسل : حلقه For…Next
واقعیت اینست که شما با شرایط زیادی روبرو خواهید شد که تکرار دستورات مشابه یک بخش ضروری از کار خواهد بود. در اغلب موارد، نوشتن دستورات جداگانه برای هر کدام از کارها، غیر عملی و حتی برخی اوقات کاملاً غیر ممکن خواهد بود. نیاز به مدیریت مجموعه دستورات تکراری به صورت موثر، دقیقاً دلیلی است که حلقه ها به خاطرش ایجاد شده اند.
یک حلقه چیست؟
یک حلقه یک روش برای انجام یک کار بیش از یک بار است. ممکن است نیاز داشته باشید تا تک تک برگه های موجود در فایل اکسلتان را کپی کنید و هر کدام را به صورت جداگانه در یک فایل اکسل مستقل ذخیره نمایید. یا، ممکن است یک لیست از هزاران رکورد داشته باشید و بخواهید تا هر جا که مقدار سلول A با مقدار سلول زیر آن متفاوت بود، در آن نقطه یک ردیف خالی بیفزایید. شاید برگۀ شما ده ها سلول دارای توضیحات (comments) دارد و شما می خواهید تا بدون اینکه تک تک این کامنت ها را ویرایش کنید، یک متن را به ابتدای تمامی آنها اضافه کنید.
به جای اینکه این نوع کارهار را به صورت دستی انجام بدهید، و یا اینکه یک ماکروی غیر عملی (و گاهی اوقات غیر ممکن) را ضبط کنید که این تکرارها را مدیریت کند، شما می توانید از حلقه ها استفاده کنید، با استفاده از حلقه ها می توانید این نوع کارها را با کدهای کمتر و همینطور انعطاف پذیری و کنترل بیشتر بر روی تعداد تکرارها انجام بدهید. در VBA حلقه ساختاری است که یک یا چندین دستور را اجرا می کند، و سپس این فرآیند را تکرار می کند و این تکرارها را به تعداد دفعاتی که شما مشخص می نمایید ادامه می دهد. هر چرخه از این فرآیند در درون حلقه یک تکرار (iteration) نامیده می شود.
تعداد تکرارهای حلقه بستگی به ماهیت کاری دارد که مشغول انجامش هستید. تمامی حلقه ها در یکی از این دو دسته بندی قرار دارند. یک حلقه با تعداد تکرار ثابت که این تعداد تکرار را شما به صورت مستقیم و هاردکد (hardcode) در حلقه مشخص می نمایید. یک حلقۀ با تعداد دفعات تکرار نامشخص که در این نوع تعداد کارها به صورت انعطاف پذیر و تحت شرایط خاصی ادامه پیدا کرده یا متوقف می شوند.
به عنوان مثالی از یک حلقه با تعداد تکرار ثابت، می توانیم به حلقه ای اشاره کنیم که قرار است به ازاء هر ماه از سال عملیاتی را انجام بدهد و در نتیجه تعداد دفعات تکرار آن 12 مرتبه خواهد بود. به عنوان مثالی از یک حلقه با تعداد تکرار نامشخص، می توان به حلقه ای اشاره کرد که قرار است به تعداد برگه های موجود در فایل اکسل شما کاری را انجام بدهد، از آنجا که تعداد برگه ها نامشخص است و در هر زمان توسط کاربر می تواند برگه هایی اضافه یا حذف شوند، تعداد دفعات تکرار در اینجا در ابتدای امر مشخص نیست.
انواع حلقه ها
زبان برنامه نویسی VBA چندین ساختار متفاوت برای حلقه ها فراهم آورده است، و حداقل یکی از آنها برای وضعیتی که در آن نیاز به تکرار دارید مناسب می باشد. در جدول زیر انواع حلقه ها در VBA آمده است که البته طی آموزش های بعدی به تک تک آنها خواهیم پرداخت.
آموزش قبلی : آموزش برنامه نویسی اکسل : جعبه های ورودی (Input Boxes)
آموزش بعدی : آموزش برنامه نویسی اکسل : حلقه For…Next
مطالب مرتبط :
- مدیریت پروژه در اکسل چیست و چه نقشی در بهبود فرایند ها دارد؟
- فارسي كردن شماره صفحه در ورد - روش هایی آسان و سریع
- اضافه کردن فهرست در ورد - آموزش گام به گام
محمد ذاکری ۱۴۰۲/۰۶/۲۳
سلام مدت ها بود دنبال یک آموزش ساده و کامل می گشتم، از زحمات شما سپاسگزارم.