Hallo,
Habs fast geschafft, aber irgendwo hängst noch.
Folgendes:
Ich möchte alle Arbeitsblätter mit einem Button schreibschützen und mit dem gleichen Button entschützen.
Wenn ich den Button drücke, um die Arbeitsblätter zu schützen, läuft alles perfekt. Wenn ich den Button wieder drücke um die Arbeitsblätter zu entsperren, kommt eine Fehlermeldung im VBA
"Fehler beim Kompilieren - Nach End Sub, End Function oder End Property können nur Kommentare stehen."
Kann mir einer bitte sagen, wo der Fehler ist ?
Sub Click()
Dim ws As Worksheet
Set ws = ActiveSheet
If SheetProtected(ws) Then
MsgBox "... ist schreibgeschützt"
Call Aus
Else
MsgBox "... wird schreibgeschützt"
Call Ein
End If
End Sub
Sub Ein()
Application.ScreenUpdating = False
Dim Blatt As Worksheet
For Each Blatt In Worksheets
Blatt.Protect Password:="0801"
Next Blatt
Application.ScreenUpdating = True
MsgBox ("Blattschutz ein")
End Sub
Sub Aus()
Application.ScreenUpdating = False
Dim Blatt As Worksheet
For Each Blatt In Worksheets
Blatt.Unprotect Password:="0801"
Next Blatt
Application.ScreenUpdating = True
MsgBox ("Blattschutz aus")
End Sub
Option Explicit
Private Function SheetProtected(TargetSheet As Worksheet) As Boolean
'Function purpose: To evaluate if a worksheet is protected
If TargetSheet.ProtectContents = True Then
SheetProtected = True
Else
SheetProtected = False
End If
End Function
|