在excel中单击时更改对象,然后更改其颜色

时间:2019-01-08 02:47:17

标签: excel vba

问题:
我正在努力更改单击时在excel中有一堆图形刻度线的颜色。

解决方案:
我希望将它们更改为绿色(如果单击)(单独,不是全部),然后如果再次单击则变回灰色。

这应该是一个简单的代码,但是由于我刚刚起步并且对此非常执着,因此我的VBA经验非常有限。请帮忙!

是这样的:
enter image description here

1 个答案:

答案 0 :(得分:0)

通过使用Worksheet_BeforeDoubleClick事件,您可以实现预期的结果,下面的代码将说明如何将单元格颜色从灰色更改为绿色,如果再次双击,则将其更改为:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 1 Then 'check if double click happens in Column A
    Cancel = True 'Stop the cursor accessing the cell
        If Target.Font.ColorIndex = 16 Then 'check if the cell colour is grey, amend to reflect your actual ColorIndex
            Target.Font.ColorIndex = 50 'change cell color to green
        ElseIf Target.Font.ColorIndex = 50 Then 'if cell is green
            Target.Font.ColorIndex = 16 'change to grey
        End If
    End If
End Sub