Se puede interrumpir una macro en Excel en cualquier momento pulsando la tecla Esc o Ctrl + Break.

Coloque un botón de comando en la hoja de trabajo y añadir las líneas de código siguientes:

Dim x As Long

x = 5

Do While x > 2

x = x + 1

Loop
  1. Haga clic en el botón de comando en la hoja. Esta macro nunca se detiene porque la pieza después de ‘Do While’ siempre será verdadero (x siempre será mayor que 2).

  2. Para detener este bucle infinito, pulse Esc o Ctrl + Break. El siguiente cuadro de diálogo aparecerá:

Code Interrupted Dialog Box

  1. Haga clic en Finalizar para terminar la macro, haga clic en Depurar para echar un vistazo a la macro en el Editor de Visual Basic.

  2. Añadir la siguiente línea de código en el inicio de su código si no desea que los usuarios de su programa para poder interrumpir su macro (no recomendado).

Application.EnableCancelKey = xlDisabled
  1. Aunque Excel VBA restablece la propiedad EnableCancelKey automáticamente a xlInterrupt al final de la macro, es una buena práctica (cuando se utiliza la línea de código anterior) para poner fin a su macro con la siguiente línea de código:

Application.EnableCancelKey = xlInterrupt

Nota: si Excel se congela y no se puede interrumpir la macro más, pulse Ctrl + Alt + Supr y cierre Excel.