Blattschutz einer Spalte aufheben
Hallo,
habe mehrere Tabellenblätter, die Passwortgechützt sind.
Nun habe ich mir einen CommandButton gemacht, wo ein Mitarbeiter den Blattschutz aufheben kann.
Code:
Function Blattschutz_KW_aus()
Dim strPw As String
strPw = "passwort"
If InputBoxDK("Bitte Passwort eingeben...", "Passwortabfrage") <> strPw Then
MsgBox ("Falsches Passwort!")
Exit Sub
Else
ActiveSheet.Unprotect ("passwort")
End If
End Sub
Nun mein Problem:
Es soll nur bei einer Spalte (Spalte AG) der Schutz aufgehoben werden, der Rest soll geschützt bleiben.
Bitte Hilfe.
Gruß Mario
Antwort schreiben
Antwort 1 von little-key vom 05.05.2022, 18:49 Options
Ein Schreibfehler ist drin.
Es heißt natürlich Exit Function und End Function.
Antwort 2 von Hajo_Zi vom 05.05.2022, 19:11 Options
Hallo Mario,
ich sollte mich irren, aber per funktion kannst du kein Foramtierungen vornehmen.
Gruß Hajo
Antwort 3 von little-key vom 05.05.2022, 19:14 Options
Hallo Hajo,
auch nicht über:
Private Sub CommandButton7_Click()
Blattschutz_KW_aus
End Sub
Über den Button wird doch die Function ausgeführt???
Antwort 4 von Hajo_Zi vom 05.05.2022, 19:25 Options
Hallo mario,
bleibt aber die Funktion. Warum schreibst Du den Code nicht unter den CommandButton oder einzelne Sub?
Gruß hajo
Antwort 5 von little-key vom 05.05.2022, 19:34 Options
Hallo Hajo,
Dann würde es wohl so aussehen:
Private Sub CommandButton7_Click()
Dim strPw As String
strPw = "passwort"
If InputBoxDK("Bitte Passwort eingeben...", "Passwortabfrage") <> strPw Then
MsgBox ("Falsches Passwort!")
Exit Sub
Else
ActiveSheet.Unprotect ("passwort")
End If
End Sub
Damit wird aber der gesamte Blattschutz aufgehoben, soll aber nur Spalte AG, besser Range("AG5:AG38"), sein.
Antwort 6 von Hajo_Zi vom 05.05.2022, 19:42 Options
Hallo Mario,
für eine Saplte aknnst du den nicht aufheben. Du kannst Eingaben in einer Spale zulassen, Zellen formatieren, Register Schutz, gesperrt entfernen.
Gruß Hajo
Antwort 7 von little-key vom 05.05.2022, 19:46 Options
Ich glaube ich hab´s.
Eigentlich wie Du es sagst:
Sub Blattschutz_KW_aus()
Dim strPw As String
strPw = "passwort"
If InputBoxDK("Bitte Passwort eingeben...", "Passwortabfrage") <> strPw Then
MsgBox ("Falsches Passwort!")
Exit Sub
Else
ActiveSheet.Unprotect ("passwort")
Range("AG5:AG38").Select
Selection.Locked = False
ActiveSheet.Protect ("passwort")
End If
End Sub
Danke Dir aber trotzdem Hajo, der Tipp war bestens.
Gruß Mario
Antwort 8 von Hajo_Zi vom 05.05.2022, 19:48 OptionsLösung
Hallo mario,
auf select kann in VBA zu 99,9% verzichtet werden
Range("AG5:AG38").Locked = False
Gruß Hajo