我在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
答案 0 :(得分:0)
除非工作表受到保护,否则将Locked
设置为True或False将不起作用。为实现此目的,您的代码还必须暂时UnProtect
,然后Protect
工作表。
Sheet1.Unprotect
'Lock or unlock cells..
Sheet1.Protect
请注意,尝试在SelectionChange
事件中执行此操作并不理想,因为此代码会不断运行并禁用撤消。最好使用Button,如果下拉是ActiveX ComboBox,则使用其Change
事件。
答案 1 :(得分:0)
你可能只使用颜色的条件格式来做,但正如其他人所说的那样,在你保护工作表之前锁定一个单元格就没有了。