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

Forumthread: Alle Pivot Tabellen aktualisieren

Alle Pivot Tabellen aktualisieren
25.07.2017 10:30:18
Kisska
Hallo zusammen,
ich würde gerne in der gesamten Arbeitsmappe alle Pivot Tabellen aktualisieren
a) beim Öffnen
b) laufend in der geöffneten Arbeitsmappe, wenn der Datenbereich aktualisiert wird.
Die Aktualisierung soll im Hintergrund passieren, ohne dass man folgende Meldung bestätigen muss:
"... enthält bereits Daten. Möchten Sie sie ersetzen?".
Mit diesem Code komme ich nicht weiter:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim pt As PivotTable
For Each pt In Sh.PivotTables
pt.RefreshTable
Next
End Sub

Viele Grüße
Kisska
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alle Pivot Tabellen aktualisieren
25.07.2017 11:15:04
Sven
Hallo,
beim öffnen der Datei:
Private Sub Workbook_Open()
Dim ws As Worksheet
Dim pt As PivotTable
For Each ws In Worksheets
For Each pt In ws.PivotTables
pt.RefreshTable
Next
Next
End Sub
beim Wechseln der Register:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim ws As Worksheet
Dim pt As PivotTable
For Each ws In Worksheets
For Each pt In ws.PivotTables
pt.RefreshTable
Next
Next
End Sub

Anzeige
Frage
26.07.2017 15:11:46
Kisska
Hallo Sven,
vielen Dank für deine Lösung!
2 Fragen dazu:
1) Wenn ich den ersten Code verwende, brauche ich nicht mehr bei jeder Pivot Tabelle in den Einstellungen "Beim Öffnen aktualisieren" anzuklicken?
2) Wie unterscheidet sich der zweite Code vom meinem geposteten? Übrigens bei meinem Code wird auch erst aktualisiert, wenn man ein Register wechselt. Ist es eigentlich möglich eine Aktualisierung durchzuführen ohne etwas auszuführen wie z.b. Register wechseln oder eine Zelle anklicken?
Viele Grüße
Kisska
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Alle Pivot Tabellen automatisch aktualisieren


Schritt-für-Schritt-Anleitung

Um alle Pivot Tabellen in einer Excel-Arbeitsmappe automatisch zu aktualisieren, kannst Du VBA-Makros verwenden. Hier sind die Schritte, um dies zu erreichen:

  1. Öffne die Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf VBAProject (DeinDateiname) und wähle Einfügen > Modul.

  3. Kopiere und füge den folgenden Code ein, um alle Pivot Tabellen beim Öffnen der Datei zu aktualisieren:

    Private Sub Workbook_Open()
       Dim ws As Worksheet
       Dim pt As PivotTable
       For Each ws In Worksheets
           For Each pt In ws.PivotTables
               pt.RefreshTable
           Next pt
       Next ws
    End Sub
  4. Um die Pivot Tabellen beim Wechseln der Register zu aktualisieren, füge diesen Code in dasselbe Modul ein:

    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
       Dim pt As PivotTable
       For Each pt In Sh.PivotTables
           pt.RefreshTable
       Next pt
    End Sub
  5. Speichere die Datei als Excel-Makro-aktivierte Arbeitsmappe (*.xlsm).

Jetzt werden die Pivot Tabellen automatisch aktualisiert, wenn Du die Arbeitsmappe öffnest oder zwischen den Registerkarten wechselst.


Häufige Fehler und Lösungen

  • Fehler: Pivot Tabelle wird nicht aktualisiert
    Lösung: Stelle sicher, dass Du die Datei als .xlsm speicherst und die Makros aktiviert sind.

  • Fehler: Meldung über Datenersatz
    Lösung: Um diese Meldung zu vermeiden, kannst Du den Parameter EnableEvents auf False setzen, bevor Du die Pivot Tabellen aktualisierst:

    Application.EnableEvents = False
    ' Aktualisiere die Pivot Tabellen
    Application.EnableEvents = True

Alternative Methoden

Falls Du keine VBA-Makros verwenden möchtest, gibt es auch die Möglichkeit, die Pivot Tabellen manuell zu aktualisieren:

  • Rechtsklick auf die Pivot Tabelle und wähle Aktualisieren.
  • Gehe zu Daten > Alle Verbindungen aktualisieren, um alle Pivot Tabellen in der Arbeitsmappe auf einmal zu aktualisieren.

Praktische Beispiele

  1. Alle Pivot Tabellen in einer bestimmten Arbeitsmappe aktualisieren: Wenn Du mehrere Pivot Tabellen in verschiedenen Arbeitsblättern hast, kannst Du den oben genannten VBA-Code nutzen, um sie alle gleichzeitig zu aktualisieren, ohne dass Du jede Tabelle einzeln ansteuern musst.

  2. Aktualisierung beim Datenimport: Wenn Du Daten aus einer externen Quelle importierst, kannst Du das Makro so anpassen, dass es nach dem Import automatisch alle Pivot Tabellen aktualisiert.


Tipps für Profis

  • Nutze die Funktion Application.ScreenUpdating = False, um das Flackern des Bildschirms während der Aktualisierung zu verhindern.

    Application.ScreenUpdating = False
    ' Aktualisiere die Pivot Tabellen
    Application.ScreenUpdating = True
  • Wenn Deine Datenquelle häufig aktualisiert wird, kannst Du das Makro so anpassen, dass es regelmäßig, z.B. stündlich, alle Pivot Tabellen aktualisiert.


FAQ: Häufige Fragen

1. Muss ich beim Code "Beim Öffnen aktualisieren" aktivieren?
Nein, wenn Du den VBA-Code verwendest, brauchst Du diese Option nicht mehr aktivieren. Der Code aktualisiert die Pivot Tabellen automatisch.

2. Was ist der Unterschied zwischen den beiden Codes?
Der erste Code aktualisiert alle Pivot Tabellen beim Öffnen der Datei, während der zweite Code das Aktualisieren beim Wechseln zwischen den Arbeitsblättern ermöglicht. Beide Funktionen können zusammen verwendet werden, um eine optimale Aktualisierung zu gewährleisten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige