ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   End loop (https://www.excelbanter.com/excel-programming/417482-end-loop.html)

Sandy

End loop
 
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


Don Guillett

End loop
 
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.


--
Don Guillett
Microsoft MVP Excel
SalesAid Software

"Sandy" wrote in message
...
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



JLGWhiz

End loop
 
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.

"Sandy" wrote:

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




All times are GMT +1. The time now is 11:20 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com