Excel 工作表(“名称”)。是否刷新?

Excel 工作表(“名称”)。是否刷新?,excel,vba,refresh,Excel,Vba,Refresh,我目前正在尝试优化一些代码。目前,我使用的是ActiveWorkbook.RefreshAll,这大大降低了整个运行时间,实际上我只需要刷新工作簿中的两个工作表。是否存在诸如工作表(“名称”).RefreshAll之类的函数?我知道.calculate,但我认为它不会更新我的数据透视表以及给定表中的计算 关于为什么不在工作簿中循环,并在这些特定的工作表上计算并刷新透视表?如果表不在同一个工作表上,您可以调整代码,使其在透视表中循环并以这种方式刷新,而不是在“每个工作表”循环中 可能重复。 Sub

我目前正在尝试优化一些代码。目前,我使用的是
ActiveWorkbook.RefreshAll
,这大大降低了整个运行时间,实际上我只需要刷新工作簿中的两个工作表。是否存在诸如
工作表(“名称”).RefreshAll之类的函数?我知道.calculate,但我认为它不会更新我的数据透视表以及给定表中的计算


关于

为什么不在工作簿中循环,并在这些特定的工作表上计算并刷新透视表?如果表不在同一个工作表上,您可以调整代码,使其在透视表中循环并以这种方式刷新,而不是在“每个工作表”循环中

可能重复。
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