ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
29 visibility
موضوع: آفیس توسط:

اگر از حلقه های For ... Next در برنامه نویسی ماکرو خود استفاده می کنید (چه کسی اینطور نیست؟)، پس باید بدانید که آنها می توانند زمان زیادی را صرف کنند. فقط با بررسی مواردی که نیاز دارید می توانید این را به حداقل برسانید. به عنوان مثال، کد زیر را در نظر بگیرید، که یک آرایه را بررسی می کند تا ببیند آیا یک مقدار وجود دارد یا خیر. اگر نشد، مقدار را به انتهای آرایه اضافه می کند. اگر این کار را کرد، پس مقدار اضافه نمی شود.

AddIt = False
For J = 1 to NumEntries
    If NumValues(J) = ToAdd Then AddIt = True
Next J
If AddIt Then
    NumEntries = NumEntries + 1
    NumValues(NumEntries) = ToAdd
End If

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

AddIt = False
For J = 1 to NumEntries
    If NumValues(J) = ToAdd Then
        AddIt = True
        Exit For
    End If
Next J
If AddIt Then
    NumEntries = NumEntries + 1
    NumValues(NumEntries) = ToAdd
End If

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

اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 27 visibility
0 دوستدار 0 امتیاز منفی
1 پاسخ 58 visibility
1 امتیاز مثبت 0 امتیاز منفی
0 پاسخ 177 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 24 visibility
0 دوستدار 0 امتیاز منفی
1 پاسخ 71 visibility

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

213 نفر آنلاین
0 عضو و 213 مهمان در سایت حاضرند
بازدید امروز: 4115
بازدید دیروز: 25180
بازدید کل: 20341469
...