对于通过Application.OnTime Now + TimeSerial(x,x,x)
运行重复循环的Excel VBA代码,这是一个漫长而未解决的问题。用户会发现他们的代码运行正常几天,可能会或可能不会神秘地停止。
我面对这样的情况并希望解决它。我已经阅读了30多个论坛答案,其中一些是由经验丰富的开发人员撰写的,并得出了这样的理解。我的结论和问题随之而来。
结论是Excel 随机进入break mode
,但没有人知道原因为什么会发生这种情况,更重要的是,为什么它会随机发生。< / p>
我们接着得出结论,实际上这是随机发生的吗?而Excel VBA并不像其他语言一样强大。
一些注意事项:
Ctrl+Break
两次来解决这个问题。它并没有解释为什么我们必须首先做到这一点。Application.OnTime
递归调用,我可以&# 39; t复制错误。它确实是随机的。即使不解决这个问题,我也需要一些东西可以作为我老板的证明。
答案 0 :(得分:0)
我已经解决了这个错误!我之前没有读过这个问题的答案,因此Excel社区收到此信息至关重要。
只要发生这种情况,Excel就无法在Application OnTime
队列中调用其子例程。您已经开始编辑单元格,保持编辑模式,然后通过最小化窗口或单击另一个窗口来关闭Excel。
Application OnTime
队列中的所有子例程将一直等到单元格完成编辑。因此,一旦切换回Excel,单元格将关闭编辑模式,然后所有子程序都将运行。
我真的很感动我自己解决了这个问题。