اگر از حلقه های 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 مواجه می شود و حلقه اساساً بلافاصله خارج می شود. نتیجه یک ماکرو سریعتر در حال اجرا است.