如果在f17中没有条目(如果这很重要,则为时间条目),我希望单元格f21被锁定。如果在f17中输入时间,则f21按顺序解锁。这是我的代码。它根本不起作用。
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveSheet.Cells(6, 17) = blank Then
ActiveSheet.Range(Cells(6, 21)).Locked = True
Else
ActiveSheet.Range(Cells(6, 21)).Locked = False
End If
End Sub
有什么问题?
答案 0 :(得分:1)
需要保护工作表才能使其正常工作。
Private Sub Worksheet_Change(ByVal Target As Range)
Cells(6, 21).Locked = IsEmpty(Trim(Cells(6, 17))
End Sub
如果在保护工作表时将UserInterfaceOnly
设置为True,则无需取消保护工作表以进行可编程更改。
ActiveSheet.Protect UserInterfaceOnly:=True
答案 1 :(得分:1)
不使用Range方法
就这样试试If ActiveSheet.Cells(6, 17) = blank Then
ActiveSheet.Cells(6, 21).Locked = True
Else
ActiveSheet.Cells(6, 21).Locked = False
End If