当单元格总和= 0时,如何更改选项卡的颜色

时间:2018-03-09 16:23:57

标签: vba excel-vba tabs excel

基本上,我希望当列的总和=零时,工作表的选项卡变为绿色。我插入下面的代码,但它无法正常工作。我认为它与目标单元中有一个Sum函数的事实有关[Cell G30有一个Sum函数(= SUM(G4:G17)]

您可以提供的任何帮助都非常受欢迎。祝你有美好的一天。

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice 20160930
    If Target.Address = "$G$30" Then
        Select Case Target.Value
        Case "0"
            Me.Tab.Color = vbGreen
        Case Else
            Me.Tab.Color = vbRed
        End Select
    End If
End Sub

1 个答案:

答案 0 :(得分:0)

根据Target
触发Worksheet_Change()事件 (只有当手动更改单元格G30而不是公式时,您的代码才有效)

所以有2个选项

  • 检查G30,无论在Worksheet_Change()中手动更新了哪个单元格
  • 或者在Worksheet_Calculate()事件
  • 中检查单元格G30的计算值
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    Me.Tab.Color = vbRed

    If Me.Range("G30").Value2 = 0 Then Me.Tab.Color = vbGreen

End Sub

或者

Option Explicit

Private Sub Worksheet_Calculate()

    Select Case Me.Range("G30").Value2

        Case 0:     Me.Tab.Color = vbGreen

        Case Else:  Me.Tab.Color = vbRed

    End Select

End Sub

确保实现其中一个,而不是同时实现两个