for lnOuterLoop = 1 to lnMaxOuterLoops for lnInnerLoop = 1 to lnMaxInnerLoops * Do Something if SomeCondition() lnOuterLoops = lnMaxOuterLoops + 1 exit endif next lnInnerLoop * Now, if you are ending the loop here, you do not need further tests, but if you have some commands.... if lnOuterLoop > lnMaxOuterLoops exit endif * Your extra commands next lnOuterLoopSo, basically, your solution and Hilmar's are similar, you could've use a flag instead of changing the iteration variable, which might not be as clear and I do not like too much to fiddle with this controller variables, just in case