簡體   English   中英

Excel 2013 vba-刷新數據透視表-循環

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM