ich habe ein kleines Problem und hoffe, dass ihr mir helfen könnt. Ich habe hier im Forum schon gesucht und auch ein paar Beiträge zu meinem Problem gefunden, konnte es aber leider nicht auf meine Datei übertragen.
Ausgangslage:
Ich habe eine sehr große Datei in der sich ein maßgebliches Tabellenblatt befindet. Die Datei ist "leider" voller sensibler Daten, sodass ich diese nicht hochladen kann. In dem Tabellenblatt befinden sich 8 Pivots die sich monatlich mit neuen Ständen aktualisieren. Aus diesen Pivots werden dann Diagramme für diverse Kennzahlen gebaut, die dann wiederum in Berichte eingebettet sind. Soweit so gut. Zum nachvollziehen habe ich euch eine Musterdatei vorbereitet.
https://www.herber.de/bbs/user/129094.xlsm
Ich benötige diese Berichte für verschiedene Bereiche und für diese Bereiche muss ich in den Pivots nach den Bereichen Filtern. Ich hab also 8 Pivots und 12 Bereiche. D.h. aktuell filtere ich händisch 96 Mal.
Meine Lösung:
Eine Zelle, in der ich per Listenauswahl (Gültigkeit) genau den in den Pivottabellen zu filternden Wert eintrage (vorhanden und funktioniert). Per Betätigung eines Buttons soll nun der Filter in den 8 Pivots gesetzt werden (Button vorhanden, Rest funktioniert nicht)
Problem:
Ich bekomme den in der Zelle ausgewählten Inhalt nicht in die Filter meiner 8 Pivots. Die Felder sind wie folgt definiert:
Kennzahlenübersicht = Der Name des Tabellenblattes
M1 = Die Zelle meiner Liste, in der der zu filternde Inhalt ausgewählt wird
PivotTable1, PivotTable2, PivotTable4, PivotTable5, PivotTable6, PivotTable7, PivotTable8 = Name der zu filternden Pivots
Zusatzfeld1 = Name des Pivotfeldes, indem der Filter gesetzt werden soll. Das Feld heißt überall gleich.
Was habe ich bis jetzt gemacht? Aus einem anderen Forumsbeitrag habe ich folgende Inhalte übernommen bzw. versucht bei mir anzupassen:
1. Der Inhalt für den Button (Modul1)
Private Sub CommandButton1_Click()
Call PivAendern
End Sub
2. Der Inhalt für das Tabellenblatt (zum testen erstmal für das Pivot "PivotTable4"
Sub PivAendern()
With Sheets("Kennzahlenübersicht").PivotTables(4)
.PivotFields("Zusatzfeld1").CurrentPage = Sheets("Kennzahlenübersicht").[M1].Value
.PivotCache.Refresh
End With
End Sub
Beim debuggen markiert er mir die Zeile ".PivotFields("Zusatzfeld1").CurrentPage = Sheets("Kennzahlenübersicht").[M1].Value".
Ich hoffe ihr habt den entscheidenden Tipp für mich. Belehrt mich gerne mit meinem Unwissen. Eure Hinweise und die Lösung des Problems könnten mir sehr viel Arbeit abnehmen. Vielen Dank im Voraus und lieben Gruß