一个单元格中的数据解锁另一个

时间:2016-08-10 11:49:28

标签: excel-vba vba excel

如果在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

有什么问题?

2 个答案:

答案 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