Pivottabellen in Excel automatisch aktualisieren mit VBA
Schritt-für-Schritt-Anleitung
Um alle Pivottabellen in Deinem Excel-Dokument mit VBA zu aktualisieren, folge diesen Schritten:
-
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu starten.
-
Klicke im Menü auf Einfügen
und wähle Modul
, um ein neues Modul zu erstellen.
-
Füge den folgenden Code ein, um alle Pivottabellen zu aktualisieren:
Sub AllePivotAktualisieren()
Dim ws As Worksheet
Dim pt As PivotTable
For Each ws In ActiveWorkbook.Worksheets
For Each pt In ws.PivotTables
pt.PivotCache.Refresh
Next pt
Next ws
End Sub
-
Schließe den VBA-Editor und kehre zu Excel zurück.
-
Du kannst nun das Makro ausführen, um alle Pivottabellen in Deinem Workbook zu aktualisieren.
Häufige Fehler und Lösungen
-
Fehler: "Objekt nicht gefunden"
Lösung: Stelle sicher, dass alle Pivottabellen korrekt benannt sind und in den entsprechenden Arbeitsblättern vorhanden sind.
-
Fehler: Pivottabelle wird nicht aktualisiert
Lösung: Überprüfe, ob die Datenquelle der Pivottabelle korrekt ist und die Daten aktualisiert wurden.
-
VBA läuft nicht
Lösung: Stelle sicher, dass Makros in Excel aktiviert sind. Gehe dazu in die Excel-Optionen und aktiviere die Makros.
Alternative Methoden
Wenn Du keine VBA verwenden möchtest, kannst Du Pivottabellen auch manuell aktualisieren:
- Klicke auf die Pivottabelle.
- Gehe zum Tab
Analyse
(oder PivotTable-Analyse
in älteren Versionen).
- Klicke auf
Aktualisieren
. Du kannst auch die Tastenkombination ALT + F5
verwenden.
Zusätzlich kannst Du die Pivottabelle so einstellen, dass sie automatisch aktualisiert wird, wenn sich die zugrunde liegenden Daten ändern.
Praktische Beispiele
-
Makro für automatisches Aktualisieren:
Du kannst auch einen Button hinzufügen, um das Makro auszuführen. Füge einen Button über Entwicklertools
hinzu und verlinke ihn mit dem Makro AllePivotAktualisieren
.
-
PivotCache verwenden:
Eine effizientere Methode zur Aktualisierung aller Pivottabellen könnte so aussehen:
Sub PivotCacheAktualisieren()
Dim pc As PivotCache
For Each pc In ActiveWorkbook.PivotCaches
pc.Refresh
Next pc
End Sub
Diese Methode aktualisiert alle PivotCaches und somit alle Pivottabellen, die darauf basieren.
Tipps für Profis
- Nutze die Funktion
.PivotCache.Refresh
, um die zugrunde liegenden Daten der Pivottabellen zu aktualisieren, ohne jede einzelne Tabelle manuell ansprechen zu müssen.
- Du kannst auch eine Kombination aus
activesheet.pivottables
und Schleifen verwenden, um gezielt bestimmte Pivottabellen zu aktualisieren.
- Denke daran, Deine Makros regelmäßig zu speichern, um Datenverlust zu vermeiden.
FAQ: Häufige Fragen
1. Was ist der Unterschied zwischen .RefreshTable
und .PivotCache.Refresh
?
.RefreshTable
aktualisiert die Pivottabelle selbst, während .PivotCache.Refresh
die zugrunde liegende Datenquelle aktualisiert.
2. Kann ich Pivottabellen automatisch aktualisieren lassen?
Ja, Du kannst die Option "Daten automatisch aktualisieren bei Änderung" in den Pivottabelleneinstellungen aktivieren.
3. Wie kann ich ein Makro zur Aktualisierung der Pivottabellen auf einen Button legen?
Füge einen Button über die Entwicklertools hinzu und weise ihm das Makro zu, das Du erstellt hast, um alle Pivots zu aktualisieren.
4. Welche Excel-Version benötige ich?
Der beschriebene VBA-Code funktioniert in Excel-Versionen ab Excel 2007 und später.