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

Asked
Viewd429069

49

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

429069

6 个答案

60

以下几行将达到目的:

 ActiveSheet.EnableCalculation = False  
ActiveSheet.EnableCalculation = True  
 

编辑.Calculate()方法不适用于所有功能。我在带有附加数组功能的工作表上进行了测试。我正在使用的生产表非常复杂,以至于我不想测试.CalculateFull()方法,但是它可能会起作用。

6

您也可以尝试

 Application.CalculateFull
 

 Application.CalculateFullRebuild
 

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

18

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

 'recalculate all open workbooks
Application.Calculate

'recalculate a specific worksheet
Worksheets(1).Calculate

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