Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Pivot-Filter aus Zelle steuern

Pivot-Filter aus Zelle steuern
02.10.2020 09:32:23
Sara
Hallo!
Ich bin Neuling wenn es um Excel VBA's geht und stehe vor folgendem Problem.
Ich habe drei Pivot-Tabellen mit zugehörigen Diagrammen erstellt.
Zwei davon entspringen aus dem gleichen Datensatz, die dritte aus einem anderen.
Ich habe mich gefragt, ob es möglich ist, über ein Makro einen bestimmten Wert (vierstellige Nummer) einzugeben, sodass Excel automatisch diesen Wert in allen drei Berichtsfiltern anwendet.
Da ich mich mit VBA wirklich nicht auskenne, wäre ich unglaublich dankbar, wenn mir jemand einen Code zur Verfügung stellen könnte!
Der Zielwert würde in Zelle A1 eingegeben werden. Diese Zelle habe ich in "PivotFilter" umbenannt.
Die Pivot-Tabellen heißen "PivotTable4" , "PivotTable5" und "PivotTable6"
Tausend dank für jegliche Hilfestellung!
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pivot-Filter aus Zelle steuern
02.10.2020 11:11:37
Yal
Hallo SAra,
VBA nicht nötig. Was du brauchst ist ein Datenschnitt-Steuerung.
Wenn Pivottabelle markiert ist (oder nur eine Zelle in der Pivottabelle), erscheint der Menüpunkt "Pivotttabelle-Tools >> Analysieren". Darin "Datenschnitt einfügen" anklicken.
Auf dem Datenschnitttools, die Berichtsverbindung anpassen.
Wie es sich verhält, wenn die Datensätze unterschiedlich sind, weiß ich nicht. Da kann man vielleicht mit dem Marko-Recorder etwas bewirken.
Viel Erfolg
Yal
Anzeige
AW: Pivot-Filter aus Zelle steuern
02.10.2020 11:14:14
Sara
Zunächst mal vielen Dank für deinen Kommentar!
Das mit dem Datenschnitt habe ich schon versucht. Das ist möglich bei den zwei Pilots die aus demselben Datensatz entspringen.
Aber bei der dritten hörts auf und ich kann die Datensätze auch nicht zusammenführen... :(
AW: Pivot-Filter aus Zelle steuern
02.10.2020 11:52:17
Yal
habe ich befürchtet.
Leider haben die Slicer (=Datenschnitt) keine Events, die man umleiten kann. Daher muss man, nachdem der Auswahl einerseits vollständig ist, eine Marko anstossen, um die andere Seite zu synchronisieren:
Sub Slicer2VomSlicer1_steuern()
Dim SC1 As SlicerCache
Dim SC2 As SlicerCache
Dim SI As SlicerItem
Set SC1 = ActiveWorkbook.SlicerCaches("Datenschnitt_1")
Set SC2 = ActiveWorkbook.SlicerCaches("Datenschnitt_2")
'Reset alle Auswahl von Slicer2
SC2.ClearAllFilters
'Set einzelne Elt vom Slicer 2 auf Basis Auswahl Slicer 1
For Each SI In SC1.SlicerItems
SC2.SlicerItems(SI.Value).Selected = SI.Selected
Next SI
End Sub
Du musst schauen, wie die Slicer bei Dir benannt sind ("Datenschnitt_1" sicher nicht):
Sub Slicer_auflisten()
Dim SC As SlicerCache
Dim P As PivotTable
For Each SC In ActiveWorkbook.SlicerCaches
Debug.Print SC.Name, SC.SourceName
For Each P In SC.PivotTables
Debug.Print vbTab & P.Name
Next
Next
End Sub
Ergbnisse werden im Direktfenster angezeigt.
Viel Erfolg
Yal
Anzeige
AW: Pivot-Filter aus Zelle steuern
02.10.2020 12:05:34
Sara
Das heißt, ich erstelle auch für die 3. Pivot, die aus dem 2. Datensatz stammt einen Datenschnitt.
Habe so dann zwei Datenschnitte, die ich synchronisieren kann.
Nach Auswahl beim 1. Datenschnitt führe ich das von dir beschriebene Makro aus und dadurch wird automatisch beim 2. Datenschnitt dieselbe Nummer ausgewählt?
Ich probiere das nachher mal aus!
Aber vermutlich wird dadurch die Auswahl auch nicht schneller gehen, wie wenn ich einfach bei zwei Datenschnitte manuell dasselbe auswähle...
Anzeige
AW: Pivot-Filter aus Zelle steuern
02.10.2020 14:36:25
Yal
Tja. Das ist die Grundfrage alle Programmierer: Baum fällen oder Axt schärfen?
Im dem Fall spielt auch die Komplexität der Auswahl und die Stabilität des Prozess:
nur ein Element auf nur ein Pivotfeld, kannste sparen.
Mehrere Elementen in mehreren "Dimensionen", mit der Notwendigkeit, dass es zusammenpasst: programmieren.
VG
Yal
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Pivot-Filter aus Zelle steuern


Schritt-für-Schritt-Anleitung

  1. Pivot-Tabellen Erstellen: Erstelle zunächst deine Pivot-Tabellen. Du benötigst mindestens drei, wie in deinem Fall: "PivotTable4", "PivotTable5" und "PivotTable6".

  2. Zelle für Filterwert festlegen: Lege eine Zelle fest, in der der Filterwert eingegeben wird. In diesem Beispiel verwenden wir Zelle A1, die du in "PivotFilter" umbenennst.

  3. Datenschnitt einfügen:

    • Markiere die erste Pivot-Tabelle.
    • Gehe zu PivotTable-Tools > Analysieren und klicke auf Datenschnitt einfügen.
    • Wähle die entsprechenden Felder aus.
  4. Berichtsverbindungen herstellen:

    • Klicke auf den Datenschnitt und gehe zu Datenschnitt-Tools > Optionen.
    • Stelle die Berichtsverbindungen zu den anderen Pivot-Tabellen her.
  5. VBA-Code anpassen: Wenn du automatisierte Filter verwenden möchtest, kannst du den folgenden VBA-Code verwenden:

    Sub Slicer2VomSlicer1_steuern()
       Dim SC1 As SlicerCache
       Dim SC2 As SlicerCache
       Dim SI As SlicerItem
       Set SC1 = ActiveWorkbook.SlicerCaches("Datenschnitt_1")
       Set SC2 = ActiveWorkbook.SlicerCaches("Datenschnitt_2")
       SC2.ClearAllFilters
       For Each SI In SC1.SlicerItems
           SC2.SlicerItems(SI.Value).Selected = SI.Selected
       Next SI
    End Sub

    Passe die Namen der Slicer entsprechend an.


Häufige Fehler und Lösungen

  • Datenschnitt Berichtverbindungen nicht möglich: Stelle sicher, dass alle Pivot-Tabellen auf den gleichen Datensatz zugreifen, wenn du einen Datenschnitt verwenden möchtest. Wenn nicht, musst du möglicherweise separate Datenschnitte für verschiedene Pivot-Tabellen verwenden.

  • Pivot-Tabelle filtern nicht möglich: Überprüfe, ob die Pivot-Tabellen korrekt aktualisiert wurden. Manchmal kann es notwendig sein, die Pivot-Tabellen zu aktualisieren, um die neuesten Daten anzuzeigen.


Alternative Methoden

Eine alternative Methode zur Steuerung von Pivot-Filtern ist die Verwendung von Dropdown-Listen in Kombination mit Datenvalidierung. Du kannst eine Dropdown-Liste in einer Zelle erstellen, die dann als Filter für deine Pivot-Tabellen dient.

  1. Dropdown erstellen:

    • Wähle die Zelle aus, in der die Dropdown-Liste erscheinen soll.
    • Gehe zu Daten > Datenvalidierung und wähle "Liste" aus.
  2. Pivot-Tabellen filtern: Verwende den Makro-Recorder, um die Filteraktionen aufzuzeichnen und diese dann mit dem Dropdown zu verknüpfen.


Praktische Beispiele

Ein praktisches Beispiel könnte so aussehen:

  • Angenommen, du hast Verkaufsdaten für verschiedene Regionen. Du kannst einen Datenschnitt für die Region erstellen. Wenn du die Region im Datenschnitt auswählst, wird die entsprechende Pivot-Tabelle automatisch aktualisiert.

  • Ein weiteres Beispiel wäre die Verwendung eines Excel-Datenschnitts mit Suchfeld, um die Auswahl zu erleichtern, insbesondere bei umfangreichen Datenmengen.


Tipps für Profis

  • Excel Datenschnitt Schriftgröße ändern: Du kannst die Schriftgröße der Datenschnitte ändern, indem du den Datenschnitt auswählst und dann die Schriftart im Menü anpasst.

  • Excel VBA Pivot Filter: Wenn du mehr Kontrolle brauchst, experimentiere mit VBA, um zusätzliche Filterlogiken zu implementieren.

  • Schnelles Aktualisieren: Stelle sicher, dass alle Pivot-Tabellen auf dieselben Datenquellen verweisen, um die Aktualisierung zu beschleunigen.


FAQ: Häufige Fragen

1. Kann ich mehrere Pivot-Tabellen mit einem Datenschnitt steuern? Ja, du kannst einen Datenschnitt für mehrere Pivot-Tabellen verwenden, solange sie auf denselben Datensatz zugreifen.

2. Was tun, wenn die Datenschnitt-Verbindungen nicht funktionieren? Überprüfe, ob die Pivot-Tabellen auf die richtigen Datenquellen zugreifen und ob die Berichtsverbindungen korrekt hergestellt wurden. Möglicherweise musst du die Pivot-Tabellen manuell aktualisieren.

3. Ist es möglich, einen Datenschnitt für verschiedene Datensätze zu verwenden? Nein, ein einzelner Datenschnitt kann nur auf Pivot-Tabellen angewendet werden, die aus demselben Datensatz stammen. In solchen Fällen musst du separate Datenschnitte verwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige