PDA

Vollständige Version anzeigen : Ein Pivot Source für 8 PTabellen anpassen


ExcelFragezeichen
11.07.2014, 15:32
Hallo zusammen,

nun sitze ich seit Stunden an einem Problem und versuche es zu lösen.
Ich habe 8 Pivottabellen die alle aus einem PivotCache erzeugt wurden.
Nun ändern sich die Source Daten dynamisch.

Ist es möglich nur die Source des einen Cache zu ändern und dann alle PivotTabellen zu aktualisieren?

Ich hatte mir folgendes so vorgestellt (nur ein Ausschnitt)

Dim rngNewDatRan As Range
Dim pvtPivTabCac As PivotCache

With ActiveWorkbook.Worksheets(strDatShe)
Set rngNewDatRan = .Range(.Cells(1, 1), .Cells(lngLasRow, lngLasCol))
End With

For Each pvtPivTabCac In ActiveWorkbook.PivotCaches
With pvtPivTabCac
.SourceData = rngNewDatRan
End With
Next pvtPivTabCac



Im Netz finde ich nur Hinweise wie ich für eine PivotTable das machen kann.
Das bedeutet aber das ich 8 mal den gleichen Cache anpasse, was keinen Sinn macht.

Das hier funktioniert hier für eine PTabelle:

ActiveWorkbook.Sheets("Test2").PivotTables("PivotTable1") _
.ChangePivotCache ActiveWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, _
SourceData:=rngNewDatRan)


Was ich nicht verstehe ist warum das nur für eine PTabelle gültig ist?
Ich ändere doch den Cache und da die andren PTabellen ebenfals auf dies Cache zugreifen solten sich die anderen PTabellen auch ändern, machen die aber nicht.

Schöne Grüße
ExcelFragezeichen

Scorefun
11.07.2014, 17:09
Lies Dir das hier (http://www.mrexcel.com/forum/excel-questions/732456-visual-basic-applications-change-pivottable-source-every-pivottable-within-worksheet.html) mal durch

ExcelFragezeichen
13.07.2014, 14:18
Hallo Scorefun,

Danke für deine Antwort.
mhh, es scheint das ein Cache nicht direckt für alle PT geändert werden kann.
Kennst du eine Methode wie man das machen kann?

SG

Scorefun
13.07.2014, 14:55
Wieso?
Hast Du bis zum Post #21 meines Links gelesen?

ExcelFragezeichen
19.07.2014, 06:27
Hi,

sorry für die späte Antwort und Jip habe bis dahin gelesen.
Sehr interessant aber es scheint nicht zu gehen.

Mit ChangePivotCache wird jeweils ein neuer Cache erzeugt, aber danach wird der nächsten Pivottable sofort der Cache von 1 übergeben.

Danke für die super Hilfe :)

SG

Scorefun
19.07.2014, 11:51
Wahrscheinlich habe ich die Aufgabenstellung ja immer noch nicht ganz verstanden... ;)

Aber vielleicht hilft Dir dieses Tutorial (https://www.youtube.com/watch?v=s_RDfzUMQtg) weiter,
so ca ab der 10. Minute wird erklärt, wie man den Datenbereich dynamisch
halten kann...

ExcelFragezeichen
20.07.2014, 06:39
Hi Scorefun,

mit dem ersten Link hast du mir schon sehr geholfen. Danke dafür.
Ich habe den Vorschlag aus dem Link genommen und so funktioniert es auch. Auch in die MVPs wundern sich darüber das es nicht anders geht :).

Ich habe eine weiter Frage geposted, leider bisher keine Idee bekommen was ich da machen muss. Kannst du mir da helfen?

http://www.ms-office-forum.net/forum/showthread.php?t=311813

SG