Ich versuche, eine Zellenbasis auf einem anderen Zellenwert zu sperren. Ich habe die Codes benutzt, die einige von euch zur Verfügung gestellt haben und perfekt funktioniert. Ich habe einige andere Codes mit aktivem Blattwechsel und VBA gibt einen Fehler aus. Mit dem folgenden Code funktioniert, aber wenn der Zustand sich geändert hat, erwarte ich, dass die Zelle wieder normal und freigeschaltet wird, aber immer noch gesperrt ist.Erforderlich für die Überprüfung der VBA-Code
Der Code ist:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$7" Then
ActiveSheet.Unprotect ("mn")
If Target.Value = 10.4 Then Rows("21:26").EntireRow.Hidden = True
If Target.Value = 10.4 Then Rows("16").EntireRow.Hidden = True
If Target.Value <> 10.4 Then Rows("21:26").EntireRow.Hidden = False
If Target.Value <> 10.4 Then Rows("16").EntireRow.Hidden = False
End If
ActiveSheet.Protect ("mn")
End Sub
Private Sub Worksheet_Activate()
ActiveSheet.Unprotect ("mn")
If [E14] = "N/A" Then
[G14].Locked = True
'Remove locked property if E14's value is anything else or is deleted.
Else
[G14].Locked = False
'Optional, reprotect sheet
End If
If [E28] = "N/A" Then
[g28].Locked = True
'Remove locked property if E28's value is anything else or is deleted.
Else
[g28].Locked = False
'Optional, reprotect sheet
End If
If [E38] = "N/A" Then
[g38].Locked = True
'Remove locked property if E38's value is anything else or is deleted.
Else
[g38].Locked = False
'Optional, reprotect sheet
End If
ActiveSheet.Protect ("mn")
End Sub
Dank für Ihre Zeit danken.
Bitte senden Sie den Code als Text kann verwenden, anstatt als Link zu einem Bild. –
Eines Ihrer Verfahren wird ausgeführt, wenn eine Änderung vorgenommen wird. Die andere läuft, wenn das Blatt aktiviert ist. Welcher gibt dir ein Problem? – Variatus
Als Sie für die Überprüfung, Der 2. Teil, Wenn F14 ist nicht gleich "N/A", erwarte ich die Zelle G14 entsperrt werden und ich kann den Wert eingeben. Aber, G14 noch gesperrt! (und dasselbe für andere Zellen.) – MahdiSafa