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

Start von Makro nach Auswahl im Datenschnitt

Forumthread: Start von Makro nach Auswahl im Datenschnitt

Start von Makro nach Auswahl im Datenschnitt
10.04.2019 14:09:08
Makro
Hallo,
ich habe folgene Excel-Fragestellung:
ich habe eine Pivot. Darüber liegt ein Datenschntit auf diese Pivot.
Bei Auswahl im Datenschnitt wird diese Pivot natürlich automaitsch gefiltert.
Allerdings soll die Pivottabelle jetzt auch noch automatisch aktualisiert werden.
Wie kann ich das hinbekommen? Ein onchange Makro verursacht immer eine Endlosschleife, da dieses dann auch immer wieder auf die Pivotaktualisierung anspringt.
Grund:
Die Pivot soll die Top20 Einträge der aktuellen Woche darstellen, gleichzeitig aber die letzten 4 Wochen anzeigen. Das geht meines Wissens nicht. (Die Top20 beziehen sich immer auf die Gesamtsumme)
Mein Workaround:
Der Filter im Datenschnitt filtert nicht nur die sich darunter befindendene Pivot, sondern noch eine andere "Hilfspivot" in einem anderen Tabellenblatt. Diese ist dann sortiert nach den Daten der aktuellen Woche.
In den Rohdaten befindet sich eine Spalte in der die ersten 20 Einträge der zweiten Pivottabelle als Top20 markiert werden.
Die Originalpivot ist dann auf diese Top20 Spalte gefiltert.
Die Top20 in der Hilfspivot und damit auch in den Rohdaten ändern sich natürlich erst wenn der Datenschnitt gefiltet wurde.
Darum muss die Original Pivottabelle nach der Filterung des Datenschnittes nochmal aktualisiert werden.
Hier wäre ein Maklro schön, der das automatisch machen würde.
Wenn es zu dem ganzen Prozedere eine andere Lösung gibt, wäre ich natürlich gleichermaßen dankbar,
Gruß David
Anzeige

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

Betreff
Datum
Anwender
Anzeige
Worksheet_PivotTableUpdate() Ereignis (owT)
10.04.2019 16:00:20
EtoPHG

AW: Worksheet_PivotTableUpdate() Ereignis (owT)
10.04.2019 16:53:46
david.a2k
Hallo,
danke schon mal für die erste Antowrt. Könntest du das noch spezifischer beschreiben?
Wie würde so ein Makro grob aussehen? Muss es in ein Modul oder ins Tabellenblatt?
Danke und Gruß
AW: Worksheet_PivotTableUpdate() Ereignis (owT)
10.04.2019 17:06:41
EtoPHG
Hallo Tobias,
Ins Tabelleblatt und im DropDown oben rechts auswählen!
Weiteres siehe in der Hilfe!
Gruess Hansueli
Anzeige
AW: Worksheet_PivotTableUpdate() Ereignis (owT)
10.04.2019 17:14:36
david.a2k
Ok Danke, wenn ich es jetzt also richtig verstanden habe steht in meinem Tabelleblatt nun
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh
End Sub
Das ergibt aber wieder eine Endlosschleife, da das Aktualisieren der Pivottabelle ja immer wieder diesen Code aufruft.
VG
Anzeige
AW: Worksheet_PivotTableUpdate() Ereignis (owT)
10.04.2019 17:34:24
EtoPHG
Hallo
Nein, das hast du falsch verstanden. Das Ereignis spricht an, wenn eine Pivot verändert wird. Mit Target kannst du feststellen, welche das ist.
Mit der Beschreibung deines Konstrukts mit mehreren Pivots komme ich nicht klar.
Ev. würde ein Beispielmappe helfen.
Gruess Hansueli
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Automatische Aktualisierung von Pivot-Tabellen mit Datenschnitten in Excel


Schritt-für-Schritt-Anleitung

Um ein Makro zu erstellen, das die Pivot-Tabelle automatisch aktualisiert, wenn du eine Auswahl im Datenschnitt triffst, folge diesen Schritten:

  1. Öffne Excel und lade die Arbeitsmappe mit der Pivot-Tabelle.

  2. Wechsel in den VBA-Editor:

    • Drücke ALT + F11.
  3. Finde das passende Tabellenblatt:

    • Doppelklicke auf das Blatt, das die Pivot-Tabelle enthält.
  4. Füge den folgenden Code ein:

    Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
       If Not Intersect(Target.TableRange, Me.Range("A1")) Is Nothing Then
           ' Hier wird die Pivot-Tabelle aktualisiert
           Me.PivotTables("PivotTable1").PivotCache.Refresh
       End If
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Teste das Makro, indem du eine Auswahl im Datenschnitt triffst.

Damit wird die Pivot-Tabelle automatisch aktualisiert, wenn du eine Auswahl im Datenschnitt machst.


Häufige Fehler und Lösungen

  • Endlosschleife: Wenn das Makro eine Endlosschleife verursacht, überprüfe, ob der Target-Bereich korrekt definiert ist. Stelle sicher, dass das Makro nur ausgeführt wird, wenn der Datenschnitt aktualisiert wird.

  • Pivot-Tabelle nicht aktualisiert: Vergewissere dich, dass der Name der Pivot-Tabelle im Code ("PivotTable1") mit dem tatsächlichen Namen übereinstimmt.


Alternative Methoden

Falls das Makro nicht die gewünschte Funktionalität bietet, kannst du auch die folgende Methode in Betracht ziehen:

  1. Excel Datenschnitt als Dropdown verwenden:

    • Füge einen Datenschnitt hinzu, der als Dropdown angezeigt wird.
    • Aktualisiere die Pivot-Tabelle manuell, wenn du eine Auswahl triffst.
  2. Excel Datenschnitt Mehrfachauswahl aktivieren:

    • Aktiviere die Mehrfachauswahl im Datenschnitt, um mehrere Kriterien gleichzeitig zu filtern.

Praktische Beispiele

Angenommen, du hast eine Pivot-Tabelle, die die Verkaufszahlen der letzten Wochen darstellt. Mit dem Datenschnitt kannst du den Zeitraum filtern und die Pivot-Tabelle zeigt die Top 20 Produkte an. Um sicherzustellen, dass die Pivot-Tabelle stets die richtigen Daten anzeigt, verwende das oben bereitgestellte Makro, um die Daten bei jeder Auswahl im Datenschnitt zu aktualisieren.


Tipps für Profis

  • Verwende Application.EnableEvents: Um Endlosschleifen zu vermeiden, kannst du das Ereignis deaktivieren, während das Makro läuft:

    Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
       Application.EnableEvents = False
       ' Aktualisiere die Pivot-Tabelle
       Me.PivotTables("PivotTable1").PivotCache.Refresh
       Application.EnableEvents = True
    End Sub
  • Testen in der Entwicklungsumgebung: Bevor du das Makro in einer produktiven Umgebung verwendest, teste es in einer Kopie deiner Arbeitsmappe.


FAQ: Häufige Fragen

1. Wie kann ich den Excel Datenschnitt nicht drucken? Um einen Datenschnitt beim Drucken auszublenden, kannst du seine Sichtbarkeit in den Druckeinstellungen anpassen.

2. Was mache ich, wenn das Makro nicht funktioniert? Überprüfe den Code auf Fehler und stelle sicher, dass der Name der Pivot-Tabelle korrekt ist. Achte auch darauf, dass das Makro im richtigen Blatt gespeichert ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige