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

Drilldown Funktion: Pivot Filter permanent überwachen und Aktion auslösen

Drilldown Funktion: Pivot Filter permanent überwachen und Aktion auslösen
25.11.2019 10:56:43
haze
Guten Morgen,
habe mit VBA schon das ein oder andere hinbekommen, einzig die fehlende Drilldown Funktion in meinen Kostenstellenreports macht mich noch unglücklich. Hier möchte ich noch nachhelfen und das fehlende Feature mit eurer Hilfe ergänzen.
Man kann sich das Kostenstellen Cockpit als eine Ansammlung von Pivots und Pivot Charts mit unterschiedlichen Merkmalen vorstellen, zusätzlich zum einfacheren Filtern gibt es Datenschnitte.
Das Problem: Man kann die Pivots zwar beliebig filtern, jedoch nicht deren Elemente / Kategorien von Haus aus aufgrund von Filtern ändern. Das ist auch bei den Pivot Tabellen gar nicht nötig, die Pivot Chart Grafiken jedoch verlieren ihren Sinn, wenn ich in tiefere Ebene abtauchen möchte, die Grafik aber nur in der obersten verharrt. Diese Pivot Charts möchte ich ausblenden bzw. einblenden (für jedes Filterszenario ein eigenes PivotChart, das bis zur entsprechenden Filtersetzung ausgeblendet bleibt), je nachdem welcher Filter in den Datenschnitten gesetzt ist.
Beispiel:
Kein Filter gesetzt - ich sehe das Pivot Chart über Gesamtkosten der Kostenstelle. Diese Grafik kann auch verwendet werden, wenn auf eine Kostenstelle eingegrenzt wird: Soweit ok.
Wenn jedoch ein Filter auf "Gemeinkostenebene Level 2" gesetzt wird, dann soll die bisherige Grafik zu Kostenstellen verschwinden und nur eine über die Verteilung eine Ebene tiefer ("Gemeinkostenebene Level 3") eingeblendet werden - so kann man sehen, wie sich die Ebene 2 aus Elementen der Ebene 3 zusammensetzen. Das gilt dann analog auch für die weiteren Ebenen...
Datenschnitt 1: Kostenstellen (hier: Standard Pivot Chart mit "Gemeinkostenebene Level 2")
Datenschnitt 2: Gemeinkostenebene Level 2 (im Hintergrund zusätzliche Pivot mit Pivot Chart zu einem Level tiefer "Gemeinkostenebene Level 3" - standardmäßig ausgeblendet, soll aber nur eingeblendet werden, wenn Filter auf "Gemeinkostenebene Level 2" angewendet)
Datenschnitt 3: Gemeinkostenebene Level 3 (... usw.)
Datenschnitt 4: Gemeinkostenebene Level 4 (... usw.)
Ich brauche also ein Makro, dass...
- ... permanent Filtersetzungen in Pivots kontrolliert,
- ... wenn ein Filter in den Datenschnitten aktiv ist (egal welcher Eintrag innerhalb eines Datenschnitts) alle Pivot Charts ausblendet und nur das relevante Chart einblendet.
Mit Schaltflächen habe ich das gezielte ein- und ausblenden der PivotCharts schon hinbekommen, es wäre aber schöner das nicht statisch über Schaltflächen, sondern direkt anhand der gesetzten Datenschnitt Filtern zu definieren.
Ein Makro, mit dem ich permanent überwache "ob ein Filter eines Datenschnitts aktiviert wurde oder nicht" habe ich bislang nicht verwendet. Könnt ihr mir da bitte etwas Inspiration geben, mit welchem Code ich das lösen kann?
So richtig fündig wurde ich nämlich in der Suche bislang nicht, möchte aber nicht an der Stelle aufgeben.
Wenn diese "Überwachung" auslöst, weil Filter aktiv, dann bräuchte ich auch noch einen kleinen Denkanstoß, wie man das dann umsetzt: Der Makro Rekorder spuckt nur eine unbefriedigende Lösung aus, er listet jeden einzelnen Eintrag mit "True" oder "False" auf:
With ActiveWorkbook.SlicerCaches("Datenschnitt_Invoices.CC")
.SlicerItems("FIN").Selected = True
.SlicerItems("HRO").Selected = False
.SlicerItems("INT").Selected = False
.SlicerItems("ITG").Selected = False
.SlicerItems("MD").Selected = False
.SlicerItems("MKT").Selected = False
.SlicerItems("PRD").Selected = False
.SlicerItems("RSC").Selected = False
.SlicerItems("SAL").Selected = False
.SlicerItems("WSC").Selected = False
.SlicerItems("(Leer)").Selected = False
End With
Mir geht es aber nur darum: Wurde ein/mehrere Filter (egal welcher) innerhalb des Datenschnitts (hier: "Datenschnitt_Invoices.CC") aktiviert oder nicht!
Danke für eure Mühe und beste Grüße!

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Drilldown Funktion: Pivot Filter permanent überwachen und Aktion auslösen
27.11.2019 10:13:03
fcs
Hallo haze,
mit nachfolgendem Ereignismakro solltest du es umsetzen können.
Das Makro reagiert auf die Aktualisierung von Pivottabellenberichten in einem Tabelleblatt.
Die Namen der Pivottables und der Diagramme musst du entsprechend anpassen.
LG
Franz

'Makro unter dem Codemodul des Tabellenblattes mit den Pivottabellenberichten und Diagrammen
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Application.ScreenUpdating = False
Me.ChartObjects("Diagramm 1").Visible = False
Me.ChartObjects("Diagramm 2").Visible = False
Me.ChartObjects("Diagramm 3").Visible = False
Me.ChartObjects("Diagramm 4").Visible = False
Select Case Target.Name
Case "PivotTableKST"
Me.ChartObjects("Diagramm 1").Visible = True
Case "PivotTableLevel_1"
Me.ChartObjects("Diagramm 2").Visible = True
Case "PivotTableLevel_2"
Me.ChartObjects("Diagramm 3").Visible = True
Case "PivotTableLevel_3"
Me.ChartObjects("Diagramm 4").Visible = True
End Select
Application.ScreenUpdating = True
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige