【发布时间】:2015-11-10 10:14:33
【问题描述】:
我有大约十个数据透视表,每个数据透视表都在另一个工作表上。
我需要将它们中的每一个的数据源更改为相同的值。 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
这是它的实际外观。它说方法不会匹配或类似的东西。
【问题讨论】:
标签: vba excel pivot-table