Code gefunden :-) anpassen für bestimmte Mappen
26.04.2011 14:26:02
Maris
Hallö,
nach grundlegender Recherche, hab ichs jetzt geschnallt. Um speicherplatz zu sparen habe ich folgenden Code gefunden der die Datenquelle angleicht:
Option Explicit
Sub PivotCachesAnzeigen()
'Zählt alle Pivot-Tabelle und zeigt deren
'Datenquelle an
Dim p, anz, piv
For Each p In Worksheets
anz = anz + p.PivotTables.count
Next
For Each p In ActiveWorkbook.PivotCaches
piv = piv & p.SourceData & vbLf
Next
MsgBox "Mappe enthält " & anz & " Pivot-Tabellen und " & _
vbLf & ActiveWorkbook.PivotCaches.count & _
" Pivot-Datenquellen :" & vbLf & vbLf & piv
End Sub
Sub ChangePivotCache()
'Dimesionierung der Variablen
Dim pt As PivotTable
Dim wks As Worksheet
'Alle Tabellenblätter der Mappe durchlaufen
For Each wks In ActiveWorkbook.Worksheets
'Alle Pivot-Tabellen eines Tabellenblattes durchlaufen
For Each pt In wks.PivotTables
'jeser PT den Cache der ersten PT auf dem Tabellenblatt 'Pivot' zuweisen (Name des _
Tabellenblattes anpassen)
pt.CacheIndex = Sheets("Pivot Revenue").PivotTables(1).CacheIndex
Next pt
Next wks
End Sub
Der code soll jetzt aber nicht alle Tabellenblätter durchlaufen sondern nur bestimmte... das müßte mann doch hier anpassen können oder?
'Alle Pivot-Tabellen eines Tabellenblattes durchlaufen
For Each pt In wks.PivotTables
Letzte Frage wenn der Cache überall gleich eingestellt wurde, reicht es dann wenn ich 1 bei einer beliebigen Pivot auf aktualisieren gehe, doer muß ich weiterhin alle aktualisieren, wenn die Pivots auf verschiedenen Tabellenblättern sind?
Gruß,
Maris