Worksheet schützen mit Macro
23.10.2018 17:02:37
Jan
ich würde gerne Folgendes mit einem Macro lösen.
Alle Blätter innerhalb der Arbeitsmappe sollen auf einmal gesperrt (passwortgeschützt) und entsperrt werden können. Der jeweilige Zustand soll daraufhin auch abgespeichert werden.
Des Weiteren würde ich gerne dem Benutzer im gesperrten Modus ermöglichen Zeilen bzw. Spalten mit der Gruppierungsfunktion auf/zuzuklappen.
Aktuell verwende ich dafür dieses Skript (benutze englisches Excel):
Sub proctAll()
For Each Sht In ThisWorkbook.Sheets
Sht.Protect (Password = "Beispiel23")
Next
End Sub
Sub Workbook_Open()
With Worksheets("Sheet 1")
.EnableOutlining = True
.Protect UserInterfaceOnly:=True
End With
With Worksheets("Sheet 2")
.EnableOutlining = True
.Protect UserInterfaceOnly:=True
End With
End Sub
Sub unproctALL()
For Each Sht In ActiveWorkbook.Sheets
Sht.Unprotect (Password = "Beispiel123")
Next
End Sub
Leider funktioniert das noch nicht so ganz wie erwünscht. Ich sperre zwar alle Sheets mit der protect Funktion, wenn ich aber das Passwort im Excelfenster eingeben will (nicht in der Macro Ansicht), um ein Blatt zu entsperren, zeigt er einen Fehler an - falsches Passwort.
Das entsperren der Blätter über die VBA Funktion funktioniert allerdings problemlos.
Darüberhinaus funktioniert das auf/zuklappen auch nicht immer.
Meine Lösung wählt dafür aktuell zwei spezifische Blätter an, das wäre aber nicht notwendig. D.h. wenn es eine Lösung für die gesamte Arbeitsmappe gibt, ist diese auch willkommen.
Freue mich sehr über Verbesserungsvorschläge!
Vielen Dank im Voraus, Jan.