Supportnet / Forum / Tabellenkalkulation
Makro Blattschutz für viele Register / Passwort
Frage
Hallo Ihr Lieben:
ich brauche ein Makro, das bei mehreren Registern (bis zu 18 in einer Datei) den Blattschutz ein oder ausschaltet.
War schon fleissig und habe folgendes gefunden
Blattschutz einschalten:
Option Explicit
Dim WsTabelle As Worksheet
Sub SCHüTZEN()
For Each WsTabelle In Sheets
WsTabelle.Protect
Next WsTabelle
End Sub
Blattschutz ausschalten:
Sub ENT_SCHüTZEN()
For Each WsTabelle In Sheets
WsTabelle.Unprotect
Next WsTabelle
End Sub
Funktioniert alles tadellos !
Jetzt habe ich nur noch ein Problem: ich möchte, dass das ganze, wie sonst beim Blattschutz auch, mit Passwort geschützt ist, d.h. nach Ausführen des Makros sollen nur noch die freigegebenen Zellen bearbeitbar sein und das aufheben des Blattschutzes soll nur über Passwort möglich sein.
Habe im Forum dazu auch das ein oder andere zum Passwort gefunden, aber da ich nicht wirklich fit bin in VBA ist es mir noch nicht gelungen, den Passwortschutz zu integrieren oder entsprechendes in die o.g. Module zu kopeiren....
Wer ist so nett und kann helfen ??
Besten Dank !
Alina
Antwort 1 von Pistenschreck
Hallo Alina
Entschutze zuerst alle Tabellen mit dem alten Code (Also ohne Passwort)
Ersetze die beiden Codes mit diesen
Option Explicit
Dim WsTabelle As Worksheet
Sub SCHüTZEN()
For Each WsTabelle In Sheets
WsTabelle.Protect Password = "MeinPasswort"
Next WsTabelle
End Sub
Blattschutz ausschalten:
Sub ENT_SCHüTZEN()
For Each WsTabelle In Sheets
WsTabelle.Protect Unpassword = "MeinPasswort"
Next WsTabelle
End Sub
Jetzt müsste es klappen.
Gruss Werner
Entschutze zuerst alle Tabellen mit dem alten Code (Also ohne Passwort)
Ersetze die beiden Codes mit diesen
Option Explicit
Dim WsTabelle As Worksheet
Sub SCHüTZEN()
For Each WsTabelle In Sheets
WsTabelle.Protect Password = "MeinPasswort"
Next WsTabelle
End Sub
Blattschutz ausschalten:
Sub ENT_SCHüTZEN()
For Each WsTabelle In Sheets
WsTabelle.Protect Unpassword = "MeinPasswort"
Next WsTabelle
End Sub
Jetzt müsste es klappen.
Gruss Werner
Antwort 2 von Pistenschreck
Halt Korrektur
Der 2. Code hat einen Fehler, nimm diesen
Blattschutz ausschalten:
Sub ENT_SCHüTZEN()
For Each WsTabelle In Sheets
WsTabelle.Unprotect Password = "MeinPasswort"
Next WsTabelle
End Sub
Gruss Werner
Der 2. Code hat einen Fehler, nimm diesen
Blattschutz ausschalten:
Sub ENT_SCHüTZEN()
For Each WsTabelle In Sheets
WsTabelle.Unprotect Password = "MeinPasswort"
Next WsTabelle
End Sub
Gruss Werner
Antwort 3 von lina_76
Hallo Pistenschreck !
danke für die unglaublich schnelle Antwort !!
Ich glaube, die Makros, die ich gefunden hatte, stammen sogar von dir.
Der Nick "Pistenschreck ist ja doch einprägsam"...
...aus der Zeit mit den Tiefschneehängen und den vereisten Steilhängen.....,gell ? ;-)
Ich probiere es gleich mal aus !!
Besten Dank !!!!!
Grüße
Alina
danke für die unglaublich schnelle Antwort !!
Ich glaube, die Makros, die ich gefunden hatte, stammen sogar von dir.
Der Nick "Pistenschreck ist ja doch einprägsam"...
...aus der Zeit mit den Tiefschneehängen und den vereisten Steilhängen.....,gell ? ;-)
Ich probiere es gleich mal aus !!
Besten Dank !!!!!
Grüße
Alina
Antwort 4 von lina_76
Hallo Pistenschreck,
bekomme eine Fehlermeldung :
"Password": Variable nicht definiert....
Grüße
Alina
bekomme eine Fehlermeldung :
"Password": Variable nicht definiert....
Grüße
Alina
Antwort 5 von Pistenschreck
Hallo Alina
Richtig gesehen, ich bins.
Zum Problem:
Es ist der Doppelpunkt
Password:="MeinPasswort"
Nach Password einen Doppelpunkt eingeben.
Gruss Werner
Richtig gesehen, ich bins.
Zum Problem:
Es ist der Doppelpunkt
Password:="MeinPasswort"
Nach Password einen Doppelpunkt eingeben.
Gruss Werner
Antwort 6 von lina_76
Hallo Werner,
toll, jetzt klappt es. !! :-)
Wie Du siehst, habe ich echt keine Ahnung von VBA, sonst hätte mir das ja auch auffallen können, dass der Doppelpunkt fehlt.... ;-)
Grüße
und Dir noch einen vernünftigen Winter !!
Alina
toll, jetzt klappt es. !! :-)
Wie Du siehst, habe ich echt keine Ahnung von VBA, sonst hätte mir das ja auch auffallen können, dass der Doppelpunkt fehlt.... ;-)
Grüße
und Dir noch einen vernünftigen Winter !!
Alina