如何确定计算是否已完成或检测到中断的计算?

Ben*_*bin 7 excel vba

我有一个相当大的工作簿,需要很长的时间来计算.它一直是一个挑战,让它一直计算,因为如果你看这么多,Excel非常渴望默默地中止计算.

为了帮助缓解这个问题,我创建了一些VBA代码来启动计算,该计算由表单启动,结果是中断计算过程并不容易,但仍然可以.(我可以通过单击表单上的关闭X轻松完成此操作,但我想还有其他方法)

我想让代码检测计算是否完整,而不是采取更多步骤来尝试使其更难以中断计算,因此它可以通知用户而不是盲目地进入我的代码中的其余步骤.到目前为止,我找不到任何方法来做到这一点.

我已经看到了对Application.CalculationState的引用,但是在我中断计算后该值是xlDone,即使我在几秒钟后中断计算(通常需要大约一个小时).

我想不出通过检查单元格的值来做到这一点的方法,因为我不知道最后计算哪一个.我看到有一种方法可以将细胞标记为"脏"但我无法找到检查细胞肮脏的方法.而且我不知道这是否是正确的道路,因为我可能不得不检查每张纸上的每个单元格.

中断计算的行为不会引发错误,因此我的ON ERROR不会被触发.

有什么我想念的吗?有任何想法吗?

有任何想法吗?

mis*_*ab1 0

我从未真正使用过它,但我认为这可能有助于防止计算被中断。

Application.CalculationInterruptKey = xlNoKey