我的代码卡住了。 它可能处于无限循环中。 不确定。
有没有办法打破程序停止运行它的当前代码行?
我希望避免关闭excel,因为我希望能够捕获它在循环中的位置,并且通过进入代码,我将能够告诉已经完成了多少处理。如果可能的话,我想打破代码。
它被卡在沙漏上。
Ctrl + Break 似乎无法正常工作
似乎正在运行的代码已经劫持了cpu为excel提供的所有配额。
如果我现在无能为力,将来我能做些什么可以更容易地闯入代码?
我认为循环内的间歇性等待可能是一种可行的解决方案。
答案 0 :(得分:1)
将来,在循环中包含DoEvents
。它会运行得慢一点,但你可以使用 Ctrl + Break 来阻止它运行。
答案 1 :(得分:1)
进入循环时创建进度对话框并包含Cancel
按钮。在循环中检查Cancel
信号/事件。这也为您对Cancel
的反应提供了一些灵活性 - 您可以停止循环并在新对话框中显示关键信息(例如)。
实现我所描述的基本步骤(不一定是最优雅或最可重复使用的,但对于经验较少的人来说足够简单):
boolCancel
)在表单上放置一个按钮,onClick
设置boolCancel = True
在主代码中,在问题循环之前显示表单
在你的循环中你可以更新一些标签或进度条
形式,以便您可以看到循环是否为
做一些有价值的东西,或者现在只是旋转它的轮子。
你如何做到这取决于你的循环在做什么。
同样在循环中检查boolCancel
值。如果是真的话
显示您想要的任何状态信息并从循环中断开。