工作表("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