Excel-TippBlattschutz automatisch reaktivieren
Warum der Blattschutz bei Excel wichtig ist
In vielen Excel-Dateien gibt es sensible Inhalte, die nicht versehentlich verändert werden sollten. Beispielsweise:
- eine vertrauliche Kostenübersicht
- Auswertungen mit komplexen Formeln
- vorbereitete Berichte oder Dashboards für Kollegen oder Vorgesetzte
- Übersicht mit dem Bereitschaftsdienst für eine Woche
Häufig wird dafür der Blattschutz verwendet.
Doch was passiert, wenn jemand den Schutz aufhebt, Änderungen vornimmt – und vergisst, den Schutz wieder zu aktivieren? Das kann schnell zu unbeabsichtigten Änderungen oder gelöschten Formeln führen.
Die Lösung: Wir automatisieren den Schutz mit einem kleinen VBA-Skript. Das Arbeitsblatt wird immer dann automatisch geschützt, wenn es verlassen wird – also, sobald ein Nutzer zu einem anderen Blatt wechselt.
So bleiben Ihre wichtigen Inhalte geschützt, auch wenn jemand den Schutz zwischendurch manuell aufhebt.
Ziel:
- Ein bestimmtes Tabellenblatt soll dauerhaft geschützt sein.
- Der Blattschutz darf von bestimmten Personen manuell – mit Passwort – aufgehoben werden.
- Sobald das Blatt deaktiviert (verlassen) wird, soll der Schutz automatisch wieder aktiviert werden.
So geht’s Schritt für Schritt.
Blattschutz einrichten
Hinweis: Im folgenden Beispiel heißt das betrachtete Excel-Arbeitsblatt „Bereitschaft“. Das Vorgehen funktioniert entsprechend mit Ihrem jeweiligen Arbeitsblatt.
Aktivieren Sie Ihr Arbeitsblatt.
Gehen Sie im Menüband auf Überprüfen > Blatt schützen
Es öffnet sich das Dialogfeld Blatt schützen. Vergeben Sie hier wie gewohnt ein Passwort (zum Beispiel „Geheimnis“).
Wichtig: Merken Sie sich das Passwort – es wird auch im VBA-Code verwendet.
Daraufhin wird der VBA-Editor geöffnet. Es wird automatisch im Projekt-Explorer am linken Rand das Tabellenblatt „Bereitschaft“ aktiviert. Fügen Sie jetzt rechts im Codebereich den folgenden Code ein:
Private Sub Worksheet_Deactivate()
Sheets("Bereitschaft").Protect Password:="Geheimnis", DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Was passiert jetzt?
Wenn jemand den Blattschutz von „Bereitschaft“ aufhebt und dann das Blatt verlässt (und zum Beispiel zu „Tabelle1“ wechselt), setzt Excel den Blattschutz automatisch wieder.
Beim nächsten Aufruf ist das Blatt also wieder geschützt – ganz ohne Ihr Zutun.
Mit der Tastenkombination Alt + Q können Sie den VBA-Editor wieder beenden und zu Excel zurückkehren.
Wichtig: Für Ihre Excel-Datei ersetzen Sie im VBA-Code (oben) natürlich die Bezeichnung des Arbeitsblatts „Bereitschaft“ durch den Namen Ihres Tabellenblatts. Ebenso ersetzen Sie das Passwort „Geheimnis“ durch Ihr Passwort.
Zusätzliche Sicherheit (optional)
Wenn Sie verhindern wollen, dass jemand den VBA-Code entfernt oder das Passwort ändert, sollten Sie zusätzlich den VBA-Editor mit einem Passwort schützen:
Starten Sie hierzu wieder den VBA-Editor, indem Sie die Tastenkombination Alt + F11 drücken.
Aktivieren Sie jetzt in der Menüleiste des VBA-Editors die Befehlsfolge: Extras > Eigenschaften von VBAProject.
Es öffnet sich das Dialogfeld VBAProject – Projekteigenschaften. Aktivieren Sie hier die Registerkarte Schutz.
Aktivieren Sie hier das Kontrollkästchen Projekt für die Anzeige sperren.
Der VBA-Code kann damit nur eingesehen werden, wenn das Passwort eingegeben worden ist. Wenn das Passwort nicht bekannt ist, kann der Code eingesehen, aber nicht verändert werden.
Vergeben Sie im unteren Teil ein Kennwort und bestätigen Sie dieses. Bestätigen Sie Ihre Einstellungen, indem Sie das Dialogfeld durch Klick auf OK schließen.
Beenden Sie den VBA-Editor mit der Tastenkombination Alt + Q.
Speichern Sie die Datei (Strg + S) und schließen Sie diese (Strg + W).
Wenn Sie die Datei wieder öffnen und dann den VBA-Editor wieder aktivieren wollen, dann müssen Sie zuerst das festgelegte Passwort eingeben. Vorher können Sie den Code nicht einsehen.