[英]Excel 2013 vba - Refresh Pivot Tables - Loop
我有一些vb代碼可以為我刷新數據透視表,是否有辦法循環此操作,以便可以刷新數據透視表1至20? 而不是在Eg下方列出20行代碼
ActiveWorkbook.PivotTables(1).PivotCache.Refresh
ActiveWorkbook.PivotTables(2).PivotCache.Refresh
ActiveWorkbook.PivotTables(3).PivotCache.Refresh
等等..
提前謝謝了!
例如:如果要刷新工作簿中的所有數據透視表緩存,可以執行以下操作:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.