代码之家  ›  专栏  ›  技术社区  ›  G Rover

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

  •  0
  • G Rover  · 技术社区  · 7 年前

    基本上,当列的和=零时,我希望工作表的选项卡变为绿色。我在下面插入了代码,但它不起作用。我认为这与目标单元格中有一个和函数这一事实有关[单元格G30有一个和函数(=和(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 回复  |  直到 6 年前
        1
  •  0
  •   paul bica    7 年前

    根据 Target 价值
    (只有手动更改单元格G30,而不是通过公式更改时,您的代码才起作用)

    所以有两种选择

    • 检查G30,无论手动在工作表\u Change()中更新了哪个单元格
    • 或检查工作表\u 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
    

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