根据来自其他字段的输入锁定Excel中的字段

时间:2014-05-26 09:48:36

标签: excel vba excel-vba excel-2010

我在excel字段中输入下拉输入。根据此下拉输入,需要锁定其他字段并更改颜色。 我曾尝试在VBA下面写作,但它不起作用。请让我知道简单的解决方案。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If (Sheet1.Range("D2").Value = "New") Then

    Sheet1.Range("G2").Locked = True
    Sheet1.Range("G2").Interior.ColorIndex = 15

Else

    Sheet1.Range("G2").Locked = False
    Sheet1.Range("G2").Interior.ColorIndex = 36

End If

End Sub

2 个答案:

答案 0 :(得分:0)

除非工作表受到保护,否则将Locked设置为True或False将不起作用。为实现此目的,您的代码还必须暂时UnProtect,然后Protect工作表。

Sheet1.Unprotect
'Lock or unlock cells..
Sheet1.Protect

请注意,尝试在SelectionChange事件中执行此操作并不理想,因为此代码会不断运行并禁用撤消。最好使用Button,如果下拉是ActiveX ComboBox,则使用其Change事件。

答案 1 :(得分:0)

你可能只使用颜色的条件格式来做,但正如其他人所说的那样,在你保护工作表之前锁定一个单元格就没有了。