Excel VBA
Excel停止某个运行时间过长的宏
2017-12-06 16:58:18

有时在运行某个excel命令时,因为数据运算量比较大, 往往需要很长时间,甚至会卡死。

如果运行时间过长,我们可以停止其运行或者进行调试。

那么按ESC键或Ctrl+Break键。Excel会停止宏的运行,并且显示一个对话框:

 

单击“继续”按钮将继续运行宏命令,单击“结束”按钮停止执行,

单击“调试”按钮将在VBA编辑器中高亮显示停止前正在运行的语句。

如果要禁止通过上述按键来停止正在运行的宏,可以使用Application.EnableCancelKey属性。该属性可设置为以下三个常量之一:xlDisabled、xlErrorHandler或xlInterrupt:

xlDisabled:禁止通过上述按键停止正在运行的宏。

xlErrorHandler:将中断作为错误信号传递给运行程序,由 On Error GoTo 语句设置的错误处理程序捕获。可捕获的错误代码为 18。

xlInterrupt:中断当前运行程序,显示上述对话框,由用户可进行调试或结束程序的运行。

Application.EnableCancelKey属性有个特点,就是只要代码停止执行,该属性都会自动被设置为xlInterrupt,因而每次在执行程序时都必须设置EnableCancelKey属性。

参考自:Office教程学习网