Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1700to1704
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Pivot Sourcedata auf anderen PivotCache ändern

Pivot Sourcedata auf anderen PivotCache ändern
17.07.2019 12:34:06
Andreas
Hallo Excelfreunde!
Heute morgen hatte ich die Idee, zum Zwecke schlanker Dateigrößen, im seltenen Fall mehrerer PivotTabellen in einer Datei, alle über VBA zwangsweise auf den gleichen PivotCache basieren zu lassen. Eine grobe Idee wie das geht hatte ich schon, aber testete es auch einmal direkt über Clicks in Excel und ließ den Makrorekorder mitlaufen.
Dieser ergab u.a. folgende Zeile: ActiveSheet.PivotTableWizard SourceType:=xlPivotTable, SourceData:="PivotTable1"
Die Pivots die gelooped werden müssen habe ich zuvor schon ein einer Collection gesammelt. Die erste Pivot der Collection ist die Referenz für den, von allen anderen Pivots (2 to n), zu verwendenden PivotCache. Gibt es eine Möglichkeit, die Referenz „ActiveSheet.PivotTableWizard“ zu umgehen? Die Pivots liegen ja bereits in einer Collection vor und irgendwie scheue ich mich auf das übergeordnete Element (Worksheet) zu gehen, wenn ich doch an der Pivot direkt einen Eingriff vornehmen möchte?! Das erinnert mich an die Verwendung von Select… Und was wäre, wenn zwei Pivots auf einem Worksheet liegen? Dann ist „ActiveSheet.PivotTableWizard“ doch auch zu ungenau?! Was mir vorschwebt ist eher folgender Ansatz:
For b = 2 to o.count
Set pt = o(b)
With pt
.SourceType:=xlPivotTable
.SourceData:="PivotTable1"
End with
Next b
Ich habe hierzu schon einige Versuche unternommen und im Netz recherchiert, aber entweder bekam ich einen Debugger oder aber die Ansatäze die ich fand entielten alle ebenso „ActiveSheet.PivotTableWizard“.
Weiß ein Forumsteilnehmer Rat, wie ich die Pivot direkt mit dem Cache einer anderen aktuslieren kann? Ich würde mich sehr freuen, wenn jemand etwas Zeit findet, seine Erfahrung und Expertise zu teilen. Eine aufgeräumte Beispieldatei anbei: https://www.herber.de/bbs/user/130958.xlsm
Vielen Dank Euch im Voraus!
Beste Grüße, Andreas Hanisch

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pivot Sourcedata auf anderen PivotCache ändern
17.07.2019 12:46:37
Rudi
Hallo,
mir würde sowas vorschweben:
for each wks in worksheets
for each pt in wks.pivottables
pt.sourcedata:="PivotTable1"
next pt
next wks

Hab das aber nicht getestet
Gruß
Rudi
AW: Pivot Sourcedata auf anderen PivotCache ändern
17.07.2019 14:30:59
Andreas
Hallo Rudi,
über den von Dir aufgezeigten Weg würde die gleiche Excel List verwandt. Was auch OK ist, aber einen neuen PivotCache produziert. Im Objektexplorer bin ich auf einen neuen Befehl zur Pivot aufmerksam geworden und dieser löst mein Problem: .CacheIndex
Ich lese die Indexnummer des Caches der 'führenden' Pivot aus und stelle alle anderen Pivots über pt.CacheIndex = b um. Was so ein kleiner Spaziergang die Vernagelung im Kopf lösen kann. Einfach alles was 'cache' im Wort hat mal durchtesten und siehe da.
Lieben Gruss an alle Forumsteilnehmer. Ich hoffe andere Interessierte finden diesen Thread bei Bedarf!
Beste Grüße, Andreas Hanisch
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige