工作表("Name").刷新?
Worksheet("Name").Refresh?
我目前正在尝试优化一些代码。目前,我使用 ActiveWorkbook.RefreshAll
这显着减慢了整个 运行 时间,实际上我只需要刷新工作簿中的两个工作表。是否存在 Worksheet("Name").RefreshAll
之类的函数?我知道 .calculate,但我认为它不会更新我的数据透视表以及给定工作表中的计算。
此致
为什么不循环遍历您的工作簿,并在那些特定的 sheet 上计算 和 刷新数据透视表 table?如果 tables 不在同一个 sheet 上,您可以调整代码以循环遍历 pivot tables 并以这种方式刷新,而不是在 "each sheet" 循环中.
Sub t()
Dim ws As Worksheet
Dim pvt As PivotTable
For Each ws In ActiveWorkbook.Worksheets
If ws.Name = "Sheet4" Or ws.Name = "Sheet2" Then
ws.Calculate
For Each pvt In ws.PivotTables
pvt.RefreshTable
Next pvt
End If
Next ws
End Sub
我目前正在尝试优化一些代码。目前,我使用 ActiveWorkbook.RefreshAll
这显着减慢了整个 运行 时间,实际上我只需要刷新工作簿中的两个工作表。是否存在 Worksheet("Name").RefreshAll
之类的函数?我知道 .calculate,但我认为它不会更新我的数据透视表以及给定工作表中的计算。
此致
为什么不循环遍历您的工作簿,并在那些特定的 sheet 上计算 和 刷新数据透视表 table?如果 tables 不在同一个 sheet 上,您可以调整代码以循环遍历 pivot tables 并以这种方式刷新,而不是在 "each sheet" 循环中.
Sub t()
Dim ws As Worksheet
Dim pvt As PivotTable
For Each ws In ActiveWorkbook.Worksheets
If ws.Name = "Sheet4" Or ws.Name = "Sheet2" Then
ws.Calculate
For Each pvt In ws.PivotTables
pvt.RefreshTable
Next pvt
End If
Next ws
End Sub