News & Tipps zu Microsoft Excel

Lesen Sie hier einige der besten Beiträge aus SmartTools Excel Weekly sowie ausgewählte Inhalte anderer E-Mail-Newsletter von SmartTools Publishing rund um Microsoft Excel.

Beitrag aus SmartTools Excel Weekly

Nur die Formeln in Tabellenblättern schützen

Excel 365 2024 2021 2019 2016 2013

FRAGE Vor einiger Zeit hatten Sie in Ihrem Newsletter eine VBA-Lösung vorgestellt, mit der sich alle markierten Tabellenblätter in nur einem Arbeitsschritt mit einem Kennwort schützen lassen. Die Lösung ist fast perfekt für mich. Fast perfekt, weil ich in der Regel nur die Formeln schützen möchte, in anderen Zellen aber Eingaben zulassen möchte. Lässt sich die VBA-Lösung für diese Anwendung abändern?

C. Müller

ANTWORT Am Makrocode müssen Sie gar nichts ändern. Es kommt allein darauf an, wie Sie den Zellschutz in den einzelnen Tabellenblättern anwenden. Denn ein aktivierter Blattschutz betrifft nur die Zellen, deren Inhalte gesperrt sind. Ungesperrte Zellen können auch in einem kennwortgeschützten Tabellenblatt bearbeitet werden.

Standardmäßig sind in einem Tabellenblatt alle Zellen gesperrt. Wenn Sie nur die Formeln schützen wollen, müssen Sie also zuerst die Sperrung im gesamten Tabellenblatt aufheben. Anschließend markieren Sie alle Formelzellen und schalten für diese Zellen die Sperrung ein. Danach macht der Blattschutz genau das, was Sie wollen: die Formelzellen sind geschützt und alle anderen Zellen lassen sich beliebig ändern.

Das ist weniger kompliziert, als Sie vielleicht denken. Hier die Schritte im Detail:

  1. Öffnen Sie eine Arbeitsmappe und wechseln Sie in ein Tabellenblatt, das Sie mit einem Schutz versehen wollen.
  2. Markieren Sie alle Zellen des Tabellenblatts, indem Sie in der oberen linken Ecke am Schnittpunkt von Zeilennummern und Spaltenbuchstaben auf die Schaltfläche Alle auswählen klicken.
  3. Drücken Sie Strg+1, um das Dialogfenster Zellen formatieren zu öffnen.
  4. Wechseln Sie auf die Registerkarte Schutz.
  5. Entfernen Sie den Haken aus dem Kontrollkästchen Gesperrt und klicken Sie dann auf Ok.
  6. Drücken Sie F5, um das Dialogfenster Gehe zu zu öffnen.
  7. Klicken Sie auf die Schaltfläche Inhalte.
  8. Aktivieren Sie die Option Formeln und klicken Sie dann auf Ok.
  9. Öffnen Sie mit Strg+1 erneut das Dialogfenster Zellen formatieren und wechseln Sie wieder auf die Registerkarte Schutz.
  10. Jetzt aktivieren Sie das Kontrollkästchen Gesperrt. Und wenn Sie nicht möchten, dass der Formeltext in der Bearbeitungsleiste angezeigt wird, aktivieren Sie auch das Kontrollkästchen Ausgeblendet.
Sperren Sie nur die markierten Formelzellen.
  1. Bestätigen Sie die Schutzoptionen mit Ok.

Dieselben Aktionen wenden Sie auf die anderen Tabellenblätter der Arbeitsmappe an, in denen Sie Formeln vor Bearbeitungen schützen wollen.

Anschließend können Sie unsere VBA-Lösung so einsetzen, wie es in unserem damaligen Tipp beschrieben war: Markieren Sie die zu schützenden Tabellenblätter und starten Sie dann das Makro "ProtectSheets". – Hier noch einmal der VBA-Code:

Sub ProtectSheets()
Dim objSelSheets As Sheets
Dim sh As Object

  Set objSelSheets = ActiveWindow.SelectedSheets
  objSelSheets(1).Select

  For Each sh In objSelSheets
    sh.Protect Password:="abc123"
  Next sh

  objSelSheets.Select
  Set sh = Nothing
  Set objSelSheets = Nothing
End Sub