我有大約10個數據透視表,每個數據透視表都在另一個工作表上。更改現有數據透視表的數據源
我需要將它們中的每一個的數據源更改爲相同的值。 Pivotcaches.count
給我1這個工作簿,所以我假設每個表都指向這個緩存。
對於如何更改此緩存而不是創建十個新緩存,您有一些建議嗎?
這裏是我的了:
Sub Test(Ziel As String, Zieltab As String)
Dim RNG As Range
Dim letzteZeile As Double
Dim letzteSpalte As Double
Dim Spalte As String
Dim Index As Integer
Dim Wb As Workbook
Dim Ws As Worksheet
Dim pC As PivotCache
Dim pT As PivotTable
letzteZeile = Workbooks(Ziel).Worksheets(Zieltab).UsedRange.SpecialCells(xlCellTypeLastCell).Row
letzteSpalte = Workbooks(Ziel).Worksheets(Zieltab).Range("A1").SpecialCells(xlCellTypeLastCell).Column
Spalte = Split(Workbooks(Ziel).Worksheets(Zieltab).Cells(1, letzteSpalte).Address, "$")(1)
Set RNG = Worksheets(Zieltab).Range("A1:" & Spalte & letzteZeile)
Set Wb = ActiveWorkbook
Set pC = Wb.PivotCaches.Create(SourceType:=xlDatabase, SourceData:="'" & Wb.Sheets(Zieltab).Name & "'!" & RNG.Address, Version:=xlPivotTableVersion12)
For Each Ws In Wb.Sheets
For Each pT In Ws.PivotTables
Set pT.PivotCache = pC
Next pT
Next Ws
End Sub
這是它的實際樣子。它說方法不會匹配或者像那樣。
哇謝謝你很酷的答案。數據源不需要是字符串嗎? – Gring
設置pT.PivotCache = pC將不適用於我 – Gring
@Gring:嘗試編輯(我把2個可能性,我會讓你選擇一個你喜歡的);) – R3uK