Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Pivot refresh bei Änderung in Zelle

Forumthread: Pivot refresh bei Änderung in Zelle

Pivot refresh bei Änderung in Zelle
20.08.2007 09:25:20
Jakob
Guten Morgen VBA-Spezialisten,
könnte mir bitte kurz jemand helfen ein Makro zu schreiben?
Ich habe auf einem Sheet in der Zelle C5 einen Werte stehen der für eine GETPIVOTDATA Formel gebraucht wird.
Wenn sich dieser Wert ändert sollte sich der Pivot table (auf gleichen sheet) automatisch refreshen.
Ich komm einfach in VBA nicht weiter.
1000 Dank und eine schöne Woche!
Jakob

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pivot refresh bei Änderung in Zelle
20.08.2007 09:35:00
Renee
Hello Jakob,
So ?:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) = "C5" Then
Application.EnableEvents = False
ActiveSheet.PivotTables(1).RefreshTable
Application.EnableEvents = True
End If
End Sub


Greetz Renee

Anzeige
AW: Pivot refresh bei Änderung in Zelle
20.08.2007 10:25:00
Jakob
Funktioniert einwandfrei!
Kannst du mir noch kurz erklären was "Application.EnableEvents = True" auslöst? Das Macro landete gerade im Debugger und ich hab nen bisschne gebraucht um zu merken das "Application.EnableEvents = False" die Berechnung ausgeschaltet hatte.
Jetzt funktioniert aber wieder alles und die Benutzerfreundlichkeit des Tools ist um 100% gestiegen!
Vielen Dank!

Anzeige
AW: Pivot refresh bei Änderung in Zelle
20.08.2007 10:50:00
Renee
Hallo Jakob
Application.EnableEvents = False schaltet die Ereignis-Events aus.
Das das Makro über ein Ereignis (nämlich die Veränderung einer Zelle im Blatt) angestossen wird, soll es nicht noch einmal angestossen werden, wenn der Code ebenfalls Zellenveränderungen im Blatt vornimmt.
Die Berechnung wird dadurch nicht ausgeschaltet!
P.S. Wenn Du im VB-Editor den Cursor auf ein Wort (z.B. EnableEvents) setzt und dann F1 drückst, bekommst Du eine oft bessere Erklärung, als von mir ;-)
Greetz Renee

Anzeige
AW: Pivot refresh bei Änderung in Zelle
20.08.2007 11:17:00
Jakob
:)
Danke!
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Pivot Tabelle automatisch aktualisieren bei Änderung in Excel


Schritt-für-Schritt-Anleitung

Um deine Pivot Tabelle automatisch zu aktualisieren, wenn sich der Wert in einer bestimmten Zelle ändert, kannst du ein VBA-Makro verwenden. Hier ist eine einfache Anleitung:

  1. Öffne die Excel-Datei, in der du die Pivot Tabelle hast.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Suche im Projekt-Explorer nach dem Arbeitsblatt, auf dem sich die Pivot Tabelle befindet.

  4. Doppelklicke auf das Arbeitsblatt, um das Code-Fenster zu öffnen.

  5. Füge den folgenden Code ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Address(False, False) = "C5" Then
           Application.EnableEvents = False
           ActiveSheet.PivotTables(1).RefreshTable
           Application.EnableEvents = True
       End If
    End Sub
  6. Schließe den VBA-Editor und teste, ob die Pivot Tabelle aktualisiert wird, wenn du den Wert in Zelle C5 änderst.


Häufige Fehler und Lösungen

  • Fehler: Pivot Tabelle wird nicht aktualisiert
    Lösung: Stelle sicher, dass der Code im richtigen Arbeitsblatt eingefügt wurde. Der Code muss im Code-Fenster des spezifischen Arbeitsblattes sein, auf dem sich die Pivot Tabelle befindet.

  • Fehler: Debugger wird aktiviert
    Lösung: Achte darauf, dass Application.EnableEvents korrekt gesetzt ist. Setze Application.EnableEvents = False zu Beginn und Application.EnableEvents = True am Ende deines Codes, um Endlosschleifen zu vermeiden.


Alternative Methoden

Falls du kein VBA verwenden möchtest, gibt es auch alternative Methoden, um die Pivot Tabelle zu aktualisieren:

  • Manuelles Aktualisieren: Klicke mit der rechten Maustaste auf die Pivot Tabelle und wähle "Aktualisieren".
  • Daten aktualisieren bei Öffnen: Gehe zu den PivotTable-Optionen und aktiviere die Option „Daten beim Öffnen der Datei aktualisieren“.

Praktische Beispiele

Angenommen, du hast eine Pivot Tabelle, die Verkaufszahlen aggregiert. Wenn sich der Wert in Zelle C5 ändert, sollte die Pivot Tabelle sofort die neuen Daten anzeigen:

  1. Ändere den Wert in C5, z.B. von 100 auf 150.
  2. Die Pivot Tabelle wird automatisch aktualisiert und zeigt die neuen Aggregationen basierend auf dem geänderten Wert.

Tipps für Profis

  • Verwende Worksheet_PivotTableUpdate, um weitere Aktionen auszuführen, wenn die Pivot Tabelle aktualisiert wird.
  • Halte deinen Code gut strukturiert und kommentiere ihn, um die Wartung zu erleichtern.
  • Teste immer deine VBA-Skripte in einer Kopie deiner Datei, um Datenverluste zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Zellen überwachen?
Du kannst die If-Bedingung erweitern, um auch andere Zellen zu überwachen, z.B.:

If Target.Address(False, False) = "C5" Or Target.Address(False, False) = "D5" Then

2. Was ist der Nutzen von Application.EnableEvents?
Diese Einstellung verhindert, dass das Makro erneut ausgelöst wird, wenn Änderungen durch das Makro selbst vorgenommen werden. Dadurch werden unerwünschte Endlosschleifen vermieden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige