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

我有一些vb代码,将刷新我的透视表对我来说,有没有办法循环这个,所以我可以刷新数据透视表1到20说? 而不是在Eg下面列出20行代码

ActiveWorkbook.PivotTables(1).PivotCache.Refresh ActiveWorkbook.PivotTables(2).PivotCache.Refresh ActiveWorkbook.PivotTables(3).PivotCache.Refresh 

等等..

提前谢谢了!

举个例子:如果你想刷新工作簿中的所有透视图caching,你可以这样做:

 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 

您可以使用这个,这也将通过工作簿中的每个工作表,每个工作表中的每个数据透视表并刷新和更新表。

 Sub RefreshPivotData() Dim pvotCht As PivotTable, Sheet As Worksheet For Each Sheet In ThisWorkbook.Worksheets For Each pvotTbl In Sheet.PivotTables pvotTbl.RefreshTable pvotTbl.Update Next Next ThisWorkbook.Save End Sub 

尝试这个:

选项显式

 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