Private Sub Worksheet_Change(ByVal Target As Range)
Dim ir As Integer
Dim c As Range
ActiveSheet.Unprotect
ir = [d65536].End(xlUp).Row
Cells.Locked = False
For Each c In Range("d1:d" & ir)
If c.Value = Range("F2").value Then Range("A" & c.Row & ":C" & c.Row).Locked = True
Next
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ir As Integer
Dim c As Range
Cells.Locked = False '取消保护
ActiveSheet.Unprotect
ir = [d65536].End(xlUp).Row
For Each c In Range("d1:d" & ir)
If c.Value = Range("F2").value Then Range("A" & c.Row & ":C" & c.Row).Locked = True
Next
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub