我正在尝试在实验室中跟踪数据。
目标。当单元格P3中的值更改为“是”时,单元格Q3:AE3被锁定。但是,如果单元格P3中没有出现“是”,则单元格Q3:AE3将被解锁。
我需要相对于每个P值所在的行遍历P列的锁定/解锁单元。
例如,如果P36 =“是”,则Q36:AE36将被锁定。
编辑:此代码与P3行一起使用。如何通过P3:P500进行此循环?
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("P3") = "Yes" Then
Range("Q3:AE3").Locked = True
ElseIf Range("P3") = "No" Then
Range("Q3:AE3").Locked = False
ElseIf Range("P3") = "" Then
Range("Q3:AE3").Locked = False
End If
End Sub
答案 0 :(得分:0)
这将处理在P列中更改的任何数量的值。根据需要提供密码。
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
'did any cells in column P change
If Not Intersect(Target, Me.Range("P1").EntireColumn) Is Nothing Then
Me.Unprotect "password"
Dim cell As Range
For Each cell In Intersect(Target, Me.Range("P1").EntireColumn)
Me.Range("Q" & cell.Row & ":AE" & cell.Row).Locked = UCase$(cell.Value) = "YES"
Next
Me.Protect "password"
End If
End Sub