Excel 2013 vba - 刷新数据透视表 - 循环

时间:2016-03-18 13:20:46

标签: excel vba excel-vba

我有一些vb代码会为我刷新我的数据透视表,有没有办法循环这个所以我可以刷新数据透视表1到20说?而不是在Eg

下面列出20行代码
ActiveWorkbook.PivotTables(1).PivotCache.Refresh
ActiveWorkbook.PivotTables(2).PivotCache.Refresh
ActiveWorkbook.PivotTables(3).PivotCache.Refresh

等。

非常感谢提前!

3 个答案:

答案 0 :(得分:2)

例如:如果要刷新工作簿中的所有数据透视缓存,可以执行以下操作:

Sub RefreshPivotCache()
    Dim ws As Worksheet
    Dim PT As PivotTable

    For Each ws In ActiveWorkbook.Worksheets '<~~ Loop all worksheets in workbook
        For Each PT In ws.PivotTables        '<~~ Loop all pivot tables in worksheet
            PT.PivotCache.Refresh
        Next PT
    Next ws
End Sub

答案 1 :(得分:1)

您可以使用此功能,这也将遍历工作簿中的每个工作表,以及每个工作表中的每个数据透视表并刷新&amp;更新表格。

length =12

答案 2 :(得分:0)

试试这个:

选项明确

Sub RefresfPivotTables()

Sheets("YOUR_SHEET").Select

Dim i As Integer

For i = 1 To 20

    ActiveSheet.PivotTables("PivotTable" & i).PivotCache.Refresh

Next i

End Sub