End loop

S

Sandy

I have a sub that runs continuously and I would like a better
way of stopping it other than pressing 'Esc' or 'Ctrl+Break'.
When I do press 'Esc' or 'Ctrl+Break' I end up with an error
message for debugging.

What I thought might be a possibility but I haven't got a clue
how to do it is to have a button that when clicked will -
"end the loop after this particular run" - can this be achieved?


Sub ContinuousLoop()
Do
*****Lots of Code*******
Loop
End Sub

Any ideas would be good.
Sandy
 
D

Don Guillett

From the vba help index
Do...Loop Statement


Repeats a block of statements while a condition is True or until a condition
becomes True.

Syntax

Do [{While | Until} condition]
[statements]
[Exit Do]
[statements]

Loop

Or, you can use this syntax:

Do
[statements]
[Exit Do]
[statements]

Loop [{While | Until} condition]

The Do Loop statement syntax has these parts:

Part Description
condition Optional. Numeric expression or string expression that is
True or False. If condition is Null, condition is treated as False.
statements One or more statements that are repeated while, or until,
condition is True.



Remarks

Any number of Exit Do statements may be placed anywhere in the Do.Loop as an
alternate way to exit a Do.Loop. Exit Do is often used after evaluating some
condition, for example, If.Then, in which case the Exit Do statement
transfers control to the statement immediately following the Loop.

When used within nested Do.Loop statements, Exit Do transfers control to the
loop that is one nested level above the loop where Exit Do occurs.
 
J

JLGWhiz

If your Do...Loop loop is running continuously, then obviously it is not
finding a condition that meets the While or Until criteria. You need to
review your code and revise it so that the logic will produce a result that
is either true or false based on what you tell the loop to evaluate.
Otherwise, you are wasting code.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top