ich habe eine große Excel-Datei mit vielen verschiedenen Eingabefelder (Form Controls und ActiveX).
Ich möchte nun alle Blätter schützen, sodass nur noch in den Textboxen (ActiveX) und den Combo Boxen (Form Controls) geschrieben werden kann.
Alle Zellen sind daher "gelocked".
Wenn ich das Blatt ganz normal über Review-Blatt schützen schütze, dann funktioniert alles wunderbar.
Da ich allerdings viele Blätter habe, war mir das zu umständlich. Ich schütze und "entschütze" die Blätter mit folgenden Makros:
Private Sub BlattschutzAktivieren()
'schützt alle Blätter dieser Datei
Dim Blatt As Worksheet
For Each Blatt In Worksheets
Blatt.Protect "paris"
Next Blatt
MsgBox "Blätter geschützt!", vbOKOnly, "Geschützt"
End Sub
Private Sub BlattschutzAufheben()
'Blattschutz aufheben
Dim Blatt As Worksheet
Dim stEingabe As String
stEingabe = InputBox("Passwort eingeben!", "Passwort", "", 1500, 5000)
If StrPtr(stEingabe) = 0 Then
Exit Sub
Else
If stEingabe = "paris" Then
For Each Blatt In Worksheets
Blatt.Unprotect stEingabe
Next Blatt
Else
MsgBox "Falsches Passwort!", vbOKOnly, "Falsch"
End If
End If
End Sub
Wenn ich über die Makros den Blattschutz aktiviere, dann kann ich allerdings nur noch bedingt in die Textboxen schreiben oder Elemente aus der ComboBox auswählen. Nach jeder Eingabe erhalte ich eine Warnung, dass da Blatt geschützt ist:
"The cell or chart you are trying to change is protected and therefore read-only.
To modify a protected......"
Woran liegt das? Warum agiert mein Makro anders, als ein normales Blattschützen?
Vielen Dank und liebe Grüße
Jonas