ich habe folgendes Anliegen.
Ich habe eine Tabelle (im Tabellenblatt1), die durch eine UserForm gefüllt werden kann. Nun würde ich gerne die Funktion hinzufügen, dass wenn der Wert "Ja" in eine Zelle in der Spalte R eingetragen wird, die entsprechende Zeile gesperrt wird und nur über ein Passwort überschrieben werden kann, bzw. der Schreibschutz aufgehoben werden kann.
Kurzer Hintergrund, damit man sich es eventuell besser vorstellen kann.
Derjenige, der den Wert "Ja" in die Zellen schreibt, überprüft die Richtigkeit der Einträge in der Zeile. Sind diese Richtig sollen sie nicht mehr verändert werden können.
Das ganze erstreckt sich über 52 Spalten (B bis BA) und es können bis zu 600 Einträge in die Tabelle eingefügt werden, also 600 Zeilen.
Mit dem Folgenden Code (den ich über einen Bekannten bekommen habe) funktioniert es auch schon mehr oder weniger. ABER es dauert ewig, bis er überprüft hat, ob der Definierte Wert drinsteht oder nicht.
Private Sub Worksheet_ change(ByVal Target As Range)
Dim rngLock As Range, Zelle As Range
Set rngLock = Range("R1:R600")
For Each Zelle In rngLock
If Zelle = "" Then
ActiveSheet.Unprotect "XXX"
ActiveSheet.Range(Cells(Zelle.Row, Zelle.Column - 18), Cells(Zelle.Row, Zelle._ Column + 52)).Locked = False
ActiveSheet.Protect "XXX"
Else
If Zelle = "Ja" Then
Activesheet.Unprotect "XXX"
Activesheet.Range(Cells(Zelle.Row, Zelle.Column - 18), Cells(Zelle.Row, Zelle._ Column + 52)).Locked = True
Column + 6)).Locked = True
ActiveSheet.Protect "XXX"
End It
End if
Next
End Sub
Mit bisherigen Beiträgen konnte ich leider nichts anfangen... Wäre um Hilfe sehr dankbar!Gruß
Tobi