Microsoft Lab
全部软件
Excel宏错误(Macro Errors)约 3 分钟

Interrupt a Macro 中断宏

重点内容


适用版本

桌面版通用(Excel 365 / 2021 / 2019 等)。


怎么中断宏

随时按 Esc 或 Ctrl + Break,就能中断正在执行的宏。


示例:无限循环

Dim x As Long
x = 5

Do While x > 2
    x = x + 1
Loop

📌 这段代码的循环条件 x > 2 永远成立(x 只会越加越大),会一直跑下去,正是需要中断的典型场景。

中断后会弹出对话框,可以选择 End(结束执行)或 Debug(打开编辑器检查代码哪里出问题)。

📷 画面提示

按 Esc 中断宏后弹出的对话框,包含 End 和 Debug 两个按钮


关闭中断功能(不建议)

Application.EnableCancelKey = xlDisabled

恢复中断功能

Application.EnableCancelKey = xlInterrupt

📌 如果宏里关闭了中断功能,一定要记得在宏结束前恢复,不然之后任何宏都按不了 Esc 中断。


万一整个 Excel 都没反应

按 Ctrl+Alt+Delete 强制关闭程序。


学完你会

常见错误

  • 关闭了 EnableCancelKey 却忘记在宏结束前恢复,之后所有宏都没办法用 Esc 中断
  • 写循环时条件设错,变量只增不减/只减不增,永远不会跳出循环
  • 中断后选了 End 却没有回头检查代码,同样的死循环下次还会再发生

Sources

Blog / Website:

  1. Interrupt a Macro
只记在你的浏览器里,换设备不会同步。