【问题标题】:Tab ColorIndex reset excel vba选项卡 ColorIndex 重置 excel vba
【发布时间】:2017-05-22 03:46:12
【问题描述】:

我编写了一个 VBA 脚本,它根据单元格值更改工作表选项卡的颜色。 当我放值时脚本运行良好,但是当我清除单元格的内容值时,脚本失败并且颜色选项卡没有重置。

此工作簿上的脚本:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Not Application.Intersect(Target, Range("BH37")) Is Nothing Then
    Call CouleurOnglet(Sh, Target)
End If
End Sub

模块上的脚本:

Sub CouleurOnglet(Sh As Object, Target As Range)
With Sh
    Select Case Target
    Case Is = "OK"
        .Tab.ColorIndex = 4 'Couleur verte
    Case Is = "NOK"
        .Tab.ColorIndex = 3 'Couleur rouge
    Case Is = "A vérifier"
        .Tab.ColorIndex = 45 'Couleur orange
    Case Else
        .Tab.ColorIndex = xlAutomatic 'reset couleur
    End Select
End With
End Sub

【问题讨论】:

    标签: vba excel colors tabs


    【解决方案1】:

    选项卡的默认颜色是无颜色,在 ColorIndex 中的值为 -4142 或 xlcolorindexnone

    如果你把而不是:

    .Tab.Color = xlAutomatic
    

    代码:

    .Tab.ColorIndex = xlColorIndexNone
    

    它应该可以按需要工作。

    【讨论】:

    • 很好,所以我们也可以通过.ColorIndex 。认为我们必须通过.Color 这就是为什么我删除了我的答案,尽管我更喜欢.Color 似乎更自然的选项。
    猜你喜欢
    • 2019-12-25
    • 1970-01-01
    • 2015-01-26
    • 1970-01-01
    • 2021-03-25
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    • 2013-08-03
    相关资源
    最近更新 更多