خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

نحوه استفاده از حلقه Do-While در Excel VBA

آیا می خواهید کارهای تکراری را در Excel VBA خودکار کنید؟ یاد بگیرید که چگونه از حلقه Do-While برای اجرای مکرر مجموعه ای از اقدامات تا زمانی که یک شرط برآورده شود استفاده کنید.

حلقه ها بخشی جدایی ناپذیر از هر زبان برنامه نویسی هستند، و شما می توانید تعداد زیادی از کارهای تکراری را با استفاده از حلقه های مختلف، بسته به زبان مورد نظر، خودکار کنید. VBA اکسل هیچ تفاوتی با سایرین ندارد، زیرا مجموعه ای از گزینه های حلقه را ارائه می دهد که هر کدام هدف متفاوتی را دنبال می کنند.

شما می توانید از این حلقه ها با تعریف نقاط شروع و پایان، شرط(ها) و پارامترها استفاده کنید. یکی از این حلقه های برجسته در VBA حلقه do-while است که می توانید از آن برای کار با اتوماسیون داده استفاده کنید. در اینجا نحوه استفاده از حلقه do-while اکسل VBA آمده است، یک روش حلقه سازی همیشه ضروری، که می تواند کارهای دستی شما را تا حد زیادی ساده کند.

حلقه Do-While در Excel VBA چیست؟

حلقه do-while بسیار ساده است. اگر می‌خواهید خروجی دلخواه را بر اساس یک شرایط خاص ایجاد کنید، می‌توانید از این حلقه برای انجام مناقصه خود استفاده کنید. حلقه تا زمانی اجرا می شود که شرط(های) تعریف شده True باشد. هنگامی که برنامه با مقدار False روبرو می شود، حلقه خاتمه می یابد و نتایج را در سلول های تعیین شده چاپ می کند.

می توانید از حلقه do-while در مراحل مختلف و با معیارهای مختلف استفاده کنید. حتی می توانید از چندین حلقه در داخل حلقه بیرونی اصلی برای افزایش استفاده از آن استفاده کنید. به عنوان یک مبتدی، باید به آموزش های دقیق برنامه نویسی VBA برای افزایش دانش و مهارت های خود در این حوزه مراجعه کنید.

دستور Do-While Loop در Excel VBA

حلقه do-while دارای یک ساختار از پیش تعریف شده است که باید آن را دنبال کنید تا مطمئن شوید که بدون ایجاد خطا کار می کند. در اینجا نحو برای مرجع است:

Do while [condition_reference]

[Criteria statements]

Loop

حلقه با کلمه کلیدی do-while شروع می شود و به دنبال آن مراجع شروع و پایان می آید. قسمت اول نحو کل حلقه را کنترل می کند. در مرحله بعد، باید عباراتی را تعریف کنید که هر بار که حلقه اجرا می شود اجرا می شود.

مطلب مرتبط:   6 نکته CSS برای توسعه بهتر وب و افزایش مهارت های طراحی وب شما

در نهایت، زمانی که شرط حلقه یک مقدار False ایجاد کرد، کلمه کلیدی حلقه اجرا شده و از حلقه خارج می شود. این یک ساختار کلی است. می توانید آن را برای انجام اقدامات مختلف اصلاح کنید. در اینجا چند مثال برای آشنایی با کار یک حلقه do-while آورده شده است.

نوشتن اولین کد حلقه Do-While

فرض کنید می خواهید مضرب دو را در ستون A نمایش دهید. شرط این است که اعداد را چاپ کنید تا شمارنده به 20 برسد.

برای انجام این کار، به تب Developer در اکسل خود بروید و ویرایشگر کدنویسی را باز کنید. در عوض، Alt + F11 را فشار دهید تا ویرایشگر کدنویسی مستقیماً باز شود. در پنجره ویرایشگر کد، روی تب Insert کلیک کنید و یک ماژول جدید اضافه کنید.

شما باید تمام کدها را در این پنجره ماژول بنویسید. کد زیر را داخل ماژول اضافه کنید:

Sub dowhileloop()

Dim a As Integer

a = 1

Do While a <= 10

Cells(a, 1) = 2 * a

a = a + 1

Loop

End Sub

بلوک کد در ویرایشگر کدنویسی VBA

کد توضیح داده شد

در اینجا یک تفکیک کد برای کمک به تسلط بر اصول اولیه آورده شده است:

  • استفاده از Sub-Routine: برای شروع نوشتن کد در Excel VBA، یک پوسته بیرونی با تابع زیر روال (Sub) ایجاد کنید. یک نام معنادار به آن بدهید که با هدف کد همخوانی دارد. در این مثال می توانید از نام dowhileloop و به دنبال آن () استفاده کنید.
  • Define Datatypes: تابع dimension (dim) باید برای اعلان انواع داده های متغیر استفاده شود. با اعلام نوع داده، می توانید کد خود را کارآمد کنید و سرعت اجرا را بهبود بخشید. در این حالت، متغیر a مقادیر صحیح را ذخیره می کند، بنابراین از نوع داده عدد صحیح برای تعریف آن استفاده کنید. می توانید شماره ردیف شروع را در این متغیر ذخیره کنید تا نقطه شروع داده حلقه do-while خود را اعلام کنید.
  • تعریف شرط(ها): اکنون زمان آن است که شرط را برای کنترل حلقه do-while رد کنید. می توانید از کلمه کلیدی do while و به دنبال آن شرط استفاده کنید. از آنجایی که می خواهید حلقه را ده بار اجرا کنید، از شرط a < = 10 استفاده می کنید.
  • بیانیه های اجرایی را ارسال کنید: برای شما مهم است که تفاوت بین تابع Cells و تابع Range در VBA را بدانید. تابع سلول از ارجاعات ردیف و ستون در VBA استفاده می کند. به عنوان مثال، در اولین تکرار، زمانی که مقدار a = 1، فرمول سلول (1،1) است. در حافظه VBA، این به سلول A1 ترجمه می شود. هر بار که حلقه اجرا می شود، مقدار متغیر تعریف شده افزایش می یابد و مرجع به سلول بعدی در دسترس منتقل می شود.
  • متغیر خود را افزایش دهید: می توانید دستور a = a + 1 را برای افزایش مقادیر سلول ارسال کنید. این حلقه را به قسمت بعدی شرط منتقل می کند. حلقه تا زمانی که شرط یک مقدار False را ایجاد کند به کار خود ادامه می دهد.
  • خروج از شرط حلقه: زمانی که شرط False شد، حلقه با کلمه کلیدی Loop خارج می شود و در نهایت با کلمه کلیدی End Sub از روال فرعی خارج می شود.
  • اجرای کد: از آنجایی که کد آماده است، به سادگی کلید F5 یا دکمه سبز رنگ پخش در نوار منوی بالا را فشار دهید تا کد اجرا شود.
مطلب مرتبط:   نحوه ایجاد نمودار پراکندگی در Google Sheets

نتیجه نهایی لیستی از اعداد 2-20 را در ستون A نشان می دهد.

استفاده از یک ستون از پیش پر شده به عنوان شرط حلقه

اکنون که نحو و تفاوت های ظریف ساخت یک ساختار پایه را درک کرده اید، چرا کد دیگری برای چاپ اعداد مشابه بر اساس معیارهای از پیش موجود ننویسید؟ به عنوان مثال، می توانید یک شرط حلقه ایجاد کنید که نشانه خود را از ستون A انتخاب کرده و خروجی را در ستون B چاپ کند.

بر اساس کل سلول های پر شده در ستون A، می توانید مضرب دو را در ستون B چاپ کنید. حلقه، تعداد کل سلول های از پیش پر شده در ستون A را اجرا می کند. از آنجایی که مقدار سطر شروع یک است (a = 1)، مقدار پایانی پویا است و به طور خودکار توسط حلقه do-while محاسبه می شود.

کد VBA برای اجرای یک حلقه do-while در اکسل

با استفاده از مقدار ردیف خود، کد از طریق هر سلول در ستون A حلقه می زند و عدد را در 2 ضرب می کند. خروجی در ستون B نشان داده شده است.

رابط صفحه اکسل با دو ستون داده

اگر بیش از ده مقدار در ستون A وجود داشته باشد، حلقه تا زمانی که با یک مقدار خالی در ستون اول مواجه شود اجرا می شود. به طور مشابه، می توانید شرایط پیچیده تری را در حلقه do-while بنویسید و از آن برای بررسی شرایط و نمایش خروجی در صورت نیاز استفاده کنید.

استفاده از بیانیه IF در یک حلقه Do-While

مانند حلقه های تو در تو، می توانید از دستور IF در حلقه Do-While برای اضافه کردن یک لایه شرط دیگر استفاده کنید. در چنین حالتی، حلقه do-while کل حلقه را اجرا می کند تا زمانی که شرط False شود، و دستور IF داخلی هر بار که حلقه اجرا می شود اجرا می شود.

مطلب مرتبط:   ساس چیست؟ نحوه استفاده از این زبان برنامه افزودنی CSS را بیاموزید

در مثال زیر، حلقه do-while در هر سلول در ستون A می چرخد ​​تا زمانی که با یک سلول خالی روبرو می شود. متعاقباً، دستور IF مقدار هر سلول در ستون A را بررسی می کند و خروجی را در ستون B چاپ می کند. به محض اینکه حلقه بیرونی با یک سلول خالی در ستون A مواجه شد، حلقه متوقف می شود و از روال فرعی خارج می شود.

کد VBA با استفاده از یک شرط IF در یک حلقه do-while

خروجی به صورت زیر است:

رابط صفحه اکسل با دو ردیف داده خروجی

تا زمانی که مقدار ستون A کمتر از پنج باشد، مقدار حاصل در ستون B پنج است. در A6، از آنجایی که مقدار سلول بزرگتر از پنج است، خروجی حاصل هفت است، که با شرط IF همگام است.

کشف عملکردهای چند وجهی VBA

Excel و VBA ترکیبی بسیار مناسب برای انجام تجزیه و تحلیل داده های پیشرفته را تشکیل می دهند. حتی بدون VBA، می‌توانید از توابع مختلف منطقی اکسل برای انجام کارهای پیچیده استفاده کنید، که نمونه‌ای از مهارت‌های برنامه‌نویسی شماست.

اگر به تجزیه و تحلیل داده ها علاقه مند هستید و از اکسل در فعالیت های عادی خود استفاده می کنید، می توانید از استفاده از توابع منطقی چند وجهی اکسل بسیار بهره مند شوید.