我已經撰寫了代碼來更改單個作業簿中的樞軸欄位。但是我有 3 個不同的作業簿,其中包含多個樞軸。現在我想在所有 3 個作業簿中進行這些更改。請提供任何幫助。
注意 = 資料透視欄位和作業表名稱在所有資料透視中都相同(在所有 3 個作業簿中
嘗試使用此代碼更改一個作業簿中的資料透視欄位
Sub Account_Names()
Dim a As String Dim ab As String Dim pt As PivotTable
ThisWorkbook.Worksheets("Analysis").Activate
a = Worksheets("Analysis").Cells(1, 10).Value ab = Worksheets("Analysis").Cells(2, 10).Value
For Each pt In ActiveSheet.PivotTables With pt.PivotFields("Root Account") .CurrentPage = a
End With
Next
For Each pt In ActiveSheet.PivotTables With pt.PivotFields("Year") .CurrentPage = ab
End With
Next
End Sub
uj5u.com熱心網友回復:
以下代碼假定 3 個作業簿已打開。更改指定的作業簿的名稱。
Sub Account_Names()
Dim workbookNames As Variant
workbookNames = Array("Book1.xlsx", "Book2.xlsx", "Book3.xlsx") 'change the workbook names accordingly
Dim i As Long
For i = LBound(workbookNames) To UBound(workbookNames)
Dim wb As Workbook
Set wb = Workbooks(workbookNames(i))
Dim ws As Worksheet
Set ws = wb.Worksheets("Analysis")
Dim rootAccount As String
rootAccount = ws.Cells(1, 10).Value
Dim year As String
year = ws.Cells(2, 10).Value
Dim pt As PivotTable
For Each pt In ws.PivotTables
With pt
With .PivotFields("Root Account")
.ClearAllFilters
.CurrentPage = rootAccount
End With
With .PivotFields("Year")
.ClearAllFilters
.CurrentPage = year
End With
End With
Next pt
Next i
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/449907.html
上一篇:帶有azurecli的phpexec命令總是回傳null
下一篇:條件移動回圈-VBAexcel
