Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1388to1392
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

Error 1004 bei PivotCache-Zuordnung

Error 1004 bei PivotCache-Zuordnung
22.10.2014 16:20:18
Hendrik
Hallo Forengemeinde,
ich bin nach langer Testphase an einem Punkt angekommen, an dem ich euch um Unterstützung bitten muss.
Script-Hintergrund: Es gibt 2 Excel-Workbooks. Nennen wir sie mal Quelle und Ziel.
In der Quell-Datei wird eine große Tabelle mit Budgetdaten monatlich aktualisiert und als Monatsdatei gespeichert (zu Archivierungszwecken). In der Zieldatei befinden sich etwa 25 Sheets, die jeweils ein Projekt abdecken. Die Trennung erfolgt, da die Datei mit den Projektdaten als Wertekopie weiter versendet wird, ohne das die Quelldatei offengelegt werden muss.
Script Ziel: Bei allen Sheets der Quelle muss einmal im Monat die Datenquelle auf die neue Monatsdatei gezogen werden. Hierzu könnte man das in jedem Sheet manuell tun.
Herangehensweise: Ich versuche, es über die Pivotcaches zu lösen. Ich ändere bei einem Sheet manuell die Datenquelle (Sheet 2) und weise jeder Pivottabelle den Cache der ersten Pivottabelle in diesem Sheet zu. Das sieht so aus (Script habe ich aus einem Tutorial kopiert):

1 Sub ChangePivotCache()
2 Dim pt As PivotTable
3 Dim wks As Worksheet
4
5 For Each wks In ActiveWorkbook.Worksheets
6   For Each pt In wks.PivotTables
7           pt.CacheIndex = ThisWorkbook.Sheets(2).PivotTables(1).CacheIndex
8   Next pt
9 Next wks
10 End Sub


Das Script lief eine Zeit lang wunderbar, aber plötzlich kommt bei jedem Ausführen eine Fehlermeldung "Laufzeitfehler 1004 Anwendungs- oder objektdefinierter Fehler" in Zeile 7.
Interessanterweise funktioniert die ausführung, wenn ich statt Sheet 2 bspw. Nummer 3 wähle (noch mit dem alten Cache) und damit die eben vorgenommene manuelle Änderung überschreibe.
Ich hoffe die Beschreibung ist verständlich.
Grüße,
Hendrik

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Error 1004 bei PivotCache-Zuordnung
22.10.2014 17:17:13
fcs
Hallo Hendrik,
ich hab dein Makro mal getestet. Es scheint zu funktionieren. Ich würde es jedoch in der folgenden Form schreiben.
Damit es korrekt funktioniert musst du darauf achten, dass zum Monatsende jeweils die Datenquelle der 1. Pivot-Tab im 2. Tabellenregister angepasst wird, bevor das Makro gestartet wird.
Könnte es vorkommen, dass ein eingestellter Berichtsfeld-Wert in den Monatsdaten nicht mehr vorkommt, aber noch als Filterwert in einem der 25 Blätter eingestellt ist?
Gruß
Franz
Sub ChangePivotCache()
Dim pt As PivotTable, ptMaster As PivotTable
Dim wks As Worksheet
'Master-Pivot setzen = 1. Pivot-Tab im 2. Tabellenregister in der die Datenquelle zum  _
Monatswechsel geändert wird
Set ptMaster = ThisWorkbook.Sheets(2).PivotTables(1)
For Each wks In ActiveWorkbook.Worksheets
For Each pt In wks.PivotTables
If Not (wks.Name = ptMaster.Parent.Name And ptMaster.Name = pt.Name) Then
pt.CacheIndex = ptMaster.CacheIndex
End If
Next pt
Next wks
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige