Mit Excel können Sie Arbeitsblätter schützen und deren Schutz aufheben. Der Zweck besteht natürlich darin, anderen die Verwendung Ihrer Arbeitsmappe zu ermöglichen, jedoch nicht bestimmte Zellen in jedem Arbeitsblatt zu ändern.

Da der Schutz auf Arbeitsblattebene erfolgt, kann es sehr schwierig sein, jedes Arbeitsblatt in einer Arbeitsmappe zu durchlaufen und es entweder zu schützen oder den Schutz aufzuheben. Wenn Sie über 25 Arbeitsblätter verfügen, müssen Sie jedes Arbeitsblatt aktivieren, den Schutz oder die Aufhebung des Schutzes durchführen und mit dem nächsten fortfahren.

Eine weniger zeitaufwändige Methode zum Schutz jedes Arbeitsblatts in einer Arbeitsmappe besteht darin, ein Makro zu verwenden, um die eigentliche Arbeit zu erledigen. Das folgende Makro erledigt den Trick:

Sub ProtectAllSheets()

Dim ws As Worksheet     Dim sOrigSheet As String     Dim sOrigCell As String

Application.ScreenUpdating = False     sOrigSheet = ActiveSheet.Name     sOrigCell = ActiveCell.Address

For Each ws In Worksheets         ws.Select         ws.Protect Password:="Password"

Next ws

Application.GoTo Reference:=Worksheets("" _       & sOrigSheet & "").Range("" & sOrigCell & "")

Application.ScreenUpdating = True End Sub

Das Makro zum Aufheben des Schutzes aller Arbeitsblätter unterscheidet sich nur geringfügig:

Sub UnProtectAllSheets()

Dim ws As Worksheet     Dim sOrigSheet As String     Dim sOrigCell As String

Application.ScreenUpdating = False     sOrigSheet = ActiveSheet.Name     sOrigCell = ActiveCell.Address

For Each ws In Worksheets         ws.Select         ws.Unprotect Password:="Password"

Next ws

Application.GoTo Reference:=Worksheets("" _       & sOrigSheet & "").Range("" & sOrigCell & "")

Application.ScreenUpdating = True End Sub

Während diese Makros gut funktionieren, gibt es ein paar Einschränkungen.

Zunächst müssen Sie sicherstellen, dass die Kennwortvariable in jedem Makro auf das richtige Kennwort für Ihre Arbeitsblätter eingestellt ist. (Dies setzt natürlich voraus, dass alle Arbeitsblätter dasselbe passwords verwenden.)

Die zweite Einschränkung besteht darin, dass die Gesamtsicherheit Ihrer Arbeitsmappe gefährdet sein kann, da das Makro das Kennwort enthalten muss. Jeder, der die Makros anzeigen kann, weiß, welche Kennwörter für Ihre Arbeitsmappen gelten.

Als Lösung für dieses letzte Problem können Sie die Makros so ändern, dass sie nach einem Kennwort für ihre Arbeit fragen. Das Folgende wäre die Version des Makros, das Arbeitsblätter schützt:

Sub ProtectAllSheetsPass()

Dim ws As Worksheet     Dim sOrigSheet As String     Dim sOrigCell As String     Dim sPWord As String

Application.ScreenUpdating = False     sOrigSheet = ActiveSheet.Name     sOrigCell = ActiveCell.Address

sPWord = InputBox("What password?", "Protect All")

If sPWord > "" Then         For Each ws In Worksheets             ws.Select             ws.Protect Password:=sPWord         Next ws     End If     Application.GoTo Reference:=Worksheets("" _       & sOrigSheet & "").Range("" & sOrigCell & "")

Application.ScreenUpdating = True End Sub

Das Makro zeigt ein Eingabefeld an, in dem Sie nach dem Kennwort gefragt werden. Das gleiche Kennwort wird dann verwendet, um jedes Arbeitsblatt in der Arbeitsmappe zu schützen. Die gleiche Art von Änderung kann am Makro vorgenommen werden, das alle Arbeitsblätter aufhebt.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (13075) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365. Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: