显然,Application.CalculateFull
没有在包含许多公式的工作表上返回正确的结果,但是当我按F9时它工作正常。我有一个来自Excel 2003的类似文件,并且Calculate命令适用于具有许多公式的此类工作表,但不适用于Excel 2010。
我尝试使用Sendkeys "%^+{F9}"
来模拟F9,它似乎可以工作,但是我看到这个命令在VBA结束之前还没有完成,因此我的内部代码逻辑会选择错误的值,因为这不是&# 39;一旦被召唤就立即执行。
有没有办法在我需要的代码处理之前执行SendKeys
?
(我正在修复并尝试了很多可能性,似乎没有出路。财务团队开发人员说这张表格很好,因为它适用于F9所以我应该让它适用于Macro。)
答案 0 :(得分:1)
我认为您的意思是代码仅在计算工作表后按F9键 在运行代码之前,您可以采取哪些措施来关闭自动计算。
您可以将其添加到代码顶部:
Application.Calculation = xlCalculationManual
如果您有其他需要自动计算的工作表,则应将其添加到代码的底部:
Application.Calculation = xlCalculationAutomatic