使用带有excel VBA的sendkeys

时间:2014-10-15 06:29:20

标签: excel vba excel-vba sendkeys

显然,Application.CalculateFull没有在包含许多公式的工作表上返回正确的结果,但是当我按F9时它工作正常。我有一个来自Excel 2003的类似文件,并且Calculate命令适用于具有许多公式的此类工作表,但不适用于Excel 2010。

我尝试使用Sendkeys "%^+{F9}"来模拟F9,它似乎可以工作,但是我看到这个命令在VBA结束之前还没有完成,因此我的内部代码逻辑会选择错误的值,因为这不是&# 39;一旦被召唤就立即执行。

有没有办法在我需要的代码处理之前执行SendKeys

(我正在修复并尝试了很多可能性,似乎没有出路。财务团队开发人员说这张表格很好,因为它适用于F9所以我应该让它适用于Macro。)

1 个答案:

答案 0 :(得分:1)

我认为您的意思是代码仅在计算工作表后按F9键 在运行代码之前,您可以采取哪些措施来关闭自动计算。

您可以将其添加到代码顶部:

Application.Calculation = xlCalculationManual

如果您有其他需要自动计算的工作表,则应将其添加到代码的底部:

Application.Calculation = xlCalculationAutomatic