可能重复:
Excel VBA App stops spontaneously with message “Code execution has been halted”为什么VBA停止,如果EnableCancelKey没有被禁用
为什么VBA执行停止在任意点与消息的代码中“执行代码已被中断“除非以下已被指定:
Application.EnableCancelKey = xlDisabled
在c停止ode类似于Ctrl + Break键,因此禁用取消键(Ctrl + Break)可避免执行中的停止。
但是,禁用取消密钥对我来说是一个坏主意,因为我的代码中的某些场景可能导致无限循环(例如,如果OLE请求从未完成),其中使用Ctrl + Break的能力是无价之宝。
我不太喜欢将EnableCancelKey
设置为xlErrorHandler
。如果我能够理解代码中断的原因并避免它,而不是改变取消密钥的行为,那将会更好。
本周我第一次使用了Rob Bovey的CodeCleaner工具,我可以证明它易于安装和使用简单 – 2011-05-17 18:04:43