Hot key to stop a LOOP

  • Thread starter Thread starter joopdog
  • Start date Start date
J

joopdog

Is there away to stop a loop using a hot key, <esc> or the <ctrl-break
key?

Any help would be appreciaited
 
Yep, use Ctrl-Break.

Sometimes you might have to press it a time-or-two to get the key-press to
register. It will give you the options to continue,end, debug, help.
 
Here is some quick code based on that link... Toss it into a command button
and give it a try. It resets the application settings you may have changed,
and also give you the option to resume the loop...

Private Sub CommandButton1_Click()
Dim lng As Long
On Error GoTo ErrorHandler
Application.EnableCancelKey = xlErrorHandler
For lng = 1 To 1000000

Next lng
Exit Sub
ErrorHandler:
If Err = 18 Then
If MsgBox("Do you want to stop?", vbYesNo, "Quit?") = vbYes Then
Application.StatusBar = False
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
End
Else
Resume
End If
End If
End Sub
 
Great Stuff.


Code:
--------------------
Sub CommandButton1()
Dim lng As Long
On Error GoTo ErrorHandler
Application.EnableCancelKey = xlErrorHandler
MsgBox "This may take a long time: press ESC to cancel"
For lng = 1 To 1000000
' do something here
Next lng
Exit Sub
ErrorHandler:
If Err = 18 Then
If MsgBox("Do you want to stop?", vbYesNo, "Quit?") = vbYes Then
Application.StatusBar = True 'false
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
MsgBox "macro stopped"
End
Else
Resume
End If
End If
--------------------


This is great and it works!

Again Thanks
 
Back
Top