等到Application.Calculate完成

我可以强制我的vba脚本等待,直到Application.Calculate完成重新计算所有的公式?

除了我的意见,你可以使用Application.CalculationState DoEvents。 看到这个例子

 Application.Calculate If Not Application.CalculationState = xlDone Then DoEvents End If '~~> Rest of the code. 

如果你想要,你也可以使用Do While Loop来检查Application.CalculationState

我也build议看看这个链接

主题 :Application.CalculationState属性

链接 : http : //msdn.microsoft.com/en-us/library/bb220901%28v=office.12%29.aspx

从上面的链接引用

对于在Microsoft Excel中执行的任何计算,返回一个XlCalculationState常量,该常量指示应用程序的计算状态。 只读。

我使用代码解决了一个计算循环locking中途遇到的问题。 我认为这可能是因为它需要等待,直到计算完整完成,然后再input下一组值。 当我插入Application.Calculate代码,问题解决了。 现在循环运行完成。