sheet_name.calculate不更新公式,但shift + f9更新?
我自动化工作表,并在VBA内我打电话:
sheet_name.calculate
问题是这似乎并没有更新我的一些细胞,这取决于对财务插件的API调用。 他们都包含#VALUE!
但是,如果我在同一张纸上按下“shift + f9”,则所有包含#VALUE!
突然刷新并包含正确的数值。
为什么不这样做呢?
(我的计算更新设置被设置为“手动” – 这已经决定,因为我不想自动更新,只有当我的代码调用.calculate)
尝试
Application.CalculateFull
http://msdn.microsoft.com/en-us/library/office/ff194064.aspx
如果这不起作用,这可能会有帮助 – 它确保所有的依赖关系被重build
Application.CalculateFullRebuild
http://msdn.microsoft.com/en-us/library/office/ff822609.aspx
我还没有亲自发现工作表(“SheetName”)之间的任何区别。计算和shift -f9 – 但它可能是值得的尝试这个:
Worksheets("SheetName").EnableCalculation=False Worksheets("SheetName").EnableCalculation=True Worksheets("SheetName").Calculate
这迫使工作表的完整计算,而不是重新计算。