我有一个单元格(“L2”),它由if函数控制,根据用户在其他字段中的输入来确定“PASS”,“ERROR”或“CHECK BOX”。Excel VBA:自动调整标签颜色
每当单元格L2的值发生变化时,我都希望基于单元格内容自动更改相应选项卡的颜色。
我的代码目前看起来像这样,但不幸的是,它不起作用。你可以看一看,帮我一下吗?非常感谢您的帮助!
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) = "L2" Then
Select Case Target.Value
Case "ERROR"
Me.Tab.ColorIndex = 3
Case "PASS"
Me.Tab.ColorIndex = 4
Case Else
Me.Tab.ColorIndex = xlColorIndexNone
End Select
End If
End Sub
编辑:
我注意到一些有趣的事情:由于细胞“L2”的显示值经由被包含在其内的,如果功能的控制,VBA不会出现读取显示值,而是来自单元格的if语句。我怎样才能解决这个问题?
感谢您的帮助。
哪里错误发生,你得到了什么消息? –
没有发生错误,但不会发生更改。 – jcv
你的代码没问题,正在做你所需要的。您必须确保您在代码所属的同一工作表中进行测试(VBA/IDE中的工作表模块)。 –