Aufheben des Schutzes von Arbeitsblattgruppen (Microsoft Excel)
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 Dim J As Integer 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 Dim J As Integer 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 J As Integer 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 (2275) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: