使Excel从VBA中刷新工作表上的数据

时间:2020-03-06 14:56:25  来源:igfitidea点击:

我们如何在Excel中获取电子表格数据以从VBA中重新计算自身,而不必仅仅更改单元格值?

解决方案

以下几行将达到目的:

ActiveSheet.EnableCalculation = False  
ActiveSheet.EnableCalculation = True

编辑:.Calculate()方法不适用于所有函数,我在带有添加数组函数的工作表上对其进行了测试。我正在使用的生产表非常复杂,我不想尝试测试.CalculateFull()方法,因此它可以工作。

这应该可以解决问题...

'recalculate all open workbooks
Application.Calculate

'recalculate a specific worksheet
Worksheets(1).Calculate

' recalculate a specific range
Worksheets(1).Columns(1).Calculate

我们也可以尝试

Application.CalculateFull

或者

Application.CalculateFullRebuild

如果我们不介意重建所有打开的工作簿,而不只是重建活动的工作表。 (CalculateFullRebuild也重建依赖关系。)