Supportnet / Forum / Tabellenkalkulation
Blattschutz über Makro und Msg-Box
Frage
hallo,
ich möchte im auto_open makro alle worksheets mit dem blattschutz-kennwort "test" versehen.
durch das makro namens "worksheets-entschützen", soll eine msg-box erscheinen, in die man dann das passwort "test" (siehe auto_open) eingeben soll. bei der eingabe des richtigen passwortes (test) sollen dann alle worksheets wieder entschützt werden, ansonsten soll eine infomeldung erscheinen "bitte das korrekte passwort eingeben", und die einzelnen worksheets sollen natürlich dann nicht entschützt werden!
bin für jeden tip dankbar!
gruß,
goofe
Antwort 1 von nighty
hi goofe(schoener waere goofy)
beschaeftige mich uebers wochenende mal damit hoert sich aber nicht so schwer an.
gruss nighty
p.s.
schreibfehler bitte nicht beachten
beschaeftige mich uebers wochenende mal damit hoert sich aber nicht so schwer an.
gruss nighty
p.s.
schreibfehler bitte nicht beachten
Antwort 2 von Guenter
Hallo goofe,
auch wenn nighty noch arbeitet, hier ist schon mal das Makro, das alle Arbeitsblätter beim Start schützt:
Gruß
Günter
auch wenn nighty noch arbeitet, hier ist schon mal das Makro, das alle Arbeitsblätter beim Start schützt:
Option Explicit
Sub auto_open()
Dim n%
For n = 1 To Worksheets.Count
Sheets(n).Activate
ActiveSheet.Protect password:="test"
Next
End Sub
Gruß
Günter
Antwort 3 von Guenter
Nochmal hallo,
hier ist nun die einfache Version des worksheets_entschützen. Einfach deshalb, weil ich eine InputBox für die Eingabe verwende, das Password ist sichtbar und außerdem weil das Password auf "test" festgelegt ist.
Um die oben beschriebenen Nachteile zu beseitigen, könnte man eine TextBox verwenden. Dort kann man mit PasswordChr das übliche "*" eingeben.
Gruß
Günter
hier ist nun die einfache Version des worksheets_entschützen. Einfach deshalb, weil ich eine InputBox für die Eingabe verwende, das Password ist sichtbar und außerdem weil das Password auf "test" festgelegt ist.
Sub Worksheets_entschützen()
Dim PW$
Dim n%
PW = Application.InputBox("Hier Password eingeben:", "Arbeitsblätter entschützen")
Do While PW <> "test"
MsgBox ("Bitte das korrekte Password eingeben")
PW = Application.InputBox("Hier Password eingeben:", "Arbeitsblätter entschützen")
Loop
For n = 1 To Worksheets.Count
Sheets(n).Activate
ActiveSheet.Unprotect password:=PW
Next
End Sub
Um die oben beschriebenen Nachteile zu beseitigen, könnte man eine TextBox verwenden. Dort kann man mit PasswordChr das übliche "*" eingeben.
Gruß
Günter
Antwort 4 von nighty
hi alle
@guenther
ui guenther du bist ja fix
@goofe
sag bitte ob es so ausreicht fuer dich.
gruss nighty
@guenther
ui guenther du bist ja fix
@goofe
sag bitte ob es so ausreicht fuer dich.
gruss nighty

