Tom*_*y Z 19 vba ctrl break excel-vba infinite-loop
我编写代码并且(尽管这很难相信很多),偶尔会搞砸,创建一个无限循环.使用我的新奇特Excel,Ctrl + Break不再有效.Esc键等也没有.我看过整个网络,看起来微软有一个错误,并不关心修复它.
有没有人知道如何重新向VBA引入Ctrl + Break功能,所以如果将来发生这种情况我不会失去工作/强制关闭?谢谢!
小智 37
Alt + Esc.按住键直到它断开.
从Windows 7开始,这将循环显示所有打开的窗口.不要紧,只要继续挤压它.
减轻这种非常烦人的行为的一种方法是包括
DoEvents
Run Code Online (Sandbox Code Playgroud)
在循环。不必每次迭代都执行,只要定期调用,Ctrl Break 仍然有效。
注意:我通常在代码调试后删除它,以避免任何性能影响
对于那些尝试过之前提出的解决方案无济于事的人,试试这个。它对我有用(windows8,Excel 2016)
在 VBA 代码窗口中,按住 Alt+ESC 键的同时左键单击并按住(就像您要拖动该窗口一样)。它中断了执行并问我是要继续,还是要调试……我当然选择了调试。
另一种方法是在循环中故意引入错误。例如,您的循环不应运行超过 1000 次:
Function XYZ()
do while(..)
errcnt = errcnt + 1
if errcnt > 1000 then
cells.find(what:="Chunk Norris").activate
exit function
endif
loop
end function
Run Code Online (Sandbox Code Playgroud)
它会产生错误并“破坏”代码