خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


آموزش برنامه نویسی اکسل : خروج از حلقه

آموزش برنامه نویسی اکسل : خروج از حلقه
نویسنده : امیر انصاری
فرض کنید ماکرو شما نیاز دارد تا تشخیص دهد که اگر یک فایل اکسل خاص با نام Test.xlsx باز باشد، در این حالت باید آن را ببندد. شما ممکن است ماکرویی را با یک حلقه شبیه کد زیر بسازید:

آموزش سالیدورکز 20-2019



Sub CloseOneWorkbook()
'Declare your object variable.
Dim wb As Workbook
'Open a For Each loop.
For Each wb In Workbooks
'Command(s) to be executed.
If wb.Name = "Test.xlsx" Then
wb.Save
wb.Close
End If
'Loop to the next iteration.
Next wb
End Sub

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

در مثال قبلی، حتی اگر فایل Test.xlsx در بین فایل های باز پیدا شود و سپس بسته شود، حلقه همچنان ادامه پیدا می کند و به ازاء تمامی فایلهای باز دیگر نیز این تکرار صورت می پذیرد. این به منزلۀ هدر دادن زمان و منابع سیستم می باشد. در عوض، شما می توانید با یک بیانیه Exit For فرآیند تکرار در حلقه را متوقف کنید. اساساً هر جای دیگر نیز نیاز داشتید تا حلقۀ شما ادامه پیدا نکند و مطمئن شدید که کار مربوطه صورت پذیرفته است می توانید با این مکانیزم اجرای بقیۀ تکرارهای حلقه را متوقف کنید و در زمان و منابع سیستم صرفه جویی نمایید.

تکمیل شده و بهینه شدۀ مثال بالا را در ادامه می بینید:

Sub CloseOneWorkbookFaster()
'Declare your object variable.
Dim wb As Workbook
For Each wb In Workbooks
'Command(s) to be executed.
If wb.Name = "Test.xlsx" Then
wb.Save
wb.Close
'Exit For statement to avoid needless iterations if the condition is met.
Exit For
End If
'Loop to the next iteration.
Next wb
End Sub


آموزش قبلی : آموزش برنامه نویسی اکسل : حلقه For…Each…Next

آموزش بعدی : آموزش برنامه نویسی اکسل : حلقه با گام معکوس (Looping In Reverse with Step)



دیدگاه ها(0)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.

لطفا پیش از ارسال دیدگاه ، به نکات زیر توجه فرمایید :

- از نوشتن دیدگاه های غیر مرتبط با پست جدا خودداری کنید. دیدگاه ها و سوالات متفرقۀ خود را می توانید در تالارهای گفتمان خوش آموز مطرح نمایید.
- لطفاً دیدگاه های خود را با حروف فارسی تایپ کنید، دیدگاه های فینگیلیش تایید نمی شوند.
- قبل از ارسال دیدگاه حتما متن پست و نظرات سایر دوستان را بخوانید . نظرات اسپم و تکراری تایید نخواهند شد.
- نظر شما ممکن است بدون پاسخ تایید شوند که در این صورت باید منتظر پاسخ از سوی دیگر کاربران باشید .
- لطفا انتقادات و پیشنهادات و همچنین درخواست های خود را از طریق ایمیل khoshamoz[at].hotmail.com ارسال نمایید
- چرا آموزش های سایت خوش آموز در قالب فایل pdf به صورت یکجا ارائه نمی شوند؟
- چرا برخی پرسش های کاربران پاسخ داده نمی شوند؟


دوره رایگان آموزش جامع برنامه نویسی اکسل (VBA) از مقدماتی تا پیشرفته

دوره رایگان آموزش جامع برنامه نویسی اکسل (VBA) از مقدماتی تا پیشرفته