Puedes interrumpir una macro en Excel en cualquier momento pulsando Esc o Ctrl + Break.
Coloca un botón de comando en tu hoja de trabajo y añade las siguientes líneas de código:
Dim x As Long x = 5 Hacer mientras x; 2 x = x + 1 Bucle
1. Haga clic en el botón de comando de la hoja. Esta macro nunca se detiene porque la parte después de «Do While» siempre será verdadera (x siempre será superior a 2).
2. Para detener este bucle infinito, presione Esc o Ctrl + Break. Aparecerá el siguiente cuadro de diálogo:
3. 3. Haz clic en Finalizar para terminar la macro, haz clic en Depurar para ver la macro en el Editor de Visual Basic.
4. Añade la siguiente línea de código al principio de tu código si no quieres que los usuarios de tu programa puedan interrumpir tu macro (no recomendado).
Aplicación. HabilitarCancelarClave = xlDeshabilitado
5. Aunque Excel VBA resetea la propiedad EnableCancelKey automáticamente a xlInterrupt al final de su macro, es una buena práctica (cuando se utiliza la línea de código anterior) terminar su macro con la siguiente línea de código:
Aplicación. HabilitarCancelarClave = xlInterrumpir
Nota: si Excel se congela y no puedes interrumpir más tu macro, pulsa Ctrl + Alt + Suprimir y cierra Excel.