Pivot Tabellen aktualisieren trotz Blattschutz
Schritt-für-Schritt-Anleitung
Um eine Pivot-Tabelle trotz Blattschutz zu aktualisieren, kannst du ein einfaches Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:
-
Öffne den VBA-Editor:
- Drücke
Alt + F11
, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu:
- Klicke mit der rechten Maustaste auf dein Projekt im Projektfenster, wähle
Einfügen
und dann Modul
.
-
Kopiere den folgenden Code:
Sub PT_Refresh()
With ActiveSheet
.Unprotect "123"
.PivotTables("PivotTable1").PivotCache.Refresh
.Protect "123", DrawingObjects:=True, _
Contents:=True, Scenarios:=True, _
AllowUsingPivotTables:=True, UserInterfaceOnly:=True
End With
End Sub
- Dieser Code entblättert das Blatt, aktualisiert die Pivot-Tabelle und schützt es anschließend wieder.
-
Passe den Namen der Pivot-Tabelle an:
- Stelle sicher, dass der Name der Pivot-Tabelle ("PivotTable1") dem tatsächlichen Namen in deiner Excel-Datei entspricht.
-
Führe das Makro aus:
- Drücke
F5
, um das Makro auszuführen.
Häufige Fehler und Lösungen
-
Fehler: "PivotTable1" nicht gefunden
Lösung: Überprüfe den Namen der Pivot-Tabelle und passe den Code entsprechend an.
-
Blatt wird nicht entblättert
Lösung: Stelle sicher, dass das richtige Kennwort im Code angegeben ist.
-
Makro funktioniert nicht in anderen Blättern
Lösung: Ändere ActiveSheet
zu ThisWorkbook.Worksheets("DeinBlattName")
, um das spezifische Arbeitsblatt anzusprechen.
Alternative Methoden
Eine weitere Möglichkeit, die Pivot-Tabelle automatisch zu aktualisieren, besteht darin, die Option "PivotTable automatisch aktualisieren" zu aktivieren:
- Klicke mit der rechten Maustaste auf die Pivot-Tabelle und wähle
PivotTable-Optionen
.
- Aktiviere das Kontrollkästchen
Daten beim Öffnen der Datei aktualisieren
.
Diese Methode funktioniert jedoch nur, wenn der Blattschutz nicht aktiv ist.
Praktische Beispiele
Angenommen, du hast zwei Arbeitsblätter: V_Server
(mit den Daten) und V_Pivot
(mit der Pivot-Tabelle). Hier ist ein Beispiel für ein Makro, das in diesem Fall funktioniert:
Sub MachMal()
Call PT_Refresh("V_Pivot", "PivotTable1", "123")
End Sub
Sub PT_Refresh(xTab As String, xPiv As String, xKW As String)
With ThisWorkbook.Worksheets(xTab)
.Unprotect xKW
.PivotTables(xPiv).PivotCache.Refresh
.Protect xKW, DrawingObjects:=True, _
Contents:=True, Scenarios:=True, _
AllowUsingPivotTables:=True, UserInterfaceOnly:=True
End With
End Sub
Tipps für Profis
- Kennwortsicherheit: Verwende ein starkes Kennwort, um den Blattschutz zu gewährleisten.
- Option Explicit: Setze
Option Explicit
am Anfang deiner Module, um sicherzustellen, dass alle Variablen deklariert sind.
- Automatische Aktualisierung: Du kannst auch eine VBA-Prozedur erstellen, die die Pivot-Tabelle bei jeder Änderung in den Quelldaten aktualisiert.
FAQ: Häufige Fragen
1. Warum muss ich das Kennwort im Makro angeben?
Das Kennwort ist notwendig, um die Blätter zu entblättern und zu schützen. Ohne das richtige Kennwort kannst du die Pivot-Tabelle nicht aktualisieren.
2. Kann ich die Pivot-Tabelle ohne Makro aktualisieren?
Ja, du kannst die Pivot-Tabelle manuell aktualisieren, indem du mit der rechten Maustaste auf die Tabelle klickst und Aktualisieren
wählst, jedoch funktioniert dies nicht bei aktivem Blattschutz.