vba - 选项卡 ColorIndex 重置 excel vba

标签 vba excel colors tabs

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

Thisworkbook 上的脚本:

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

enter image description here

最佳答案

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

如果你把而不是:

.Tab.Color = xlAutomatic

编码:
.Tab.ColorIndex = xlColorIndexNone

它应该按需要工作。

关于vba - 选项卡 ColorIndex 重置 excel vba,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41521640/

相关文章:

mysql - ADODB 连接 : UDF using ADODB works fine when called from VBA code, 的有趣问题,但从 EXCEL 单元格调用时返回错误

vba - 将单元格从定义的工作表范围复制到事件工作表

mysql - EXCEL VBA 为多个变量赋值

python - 将图表从 Excel 导出到图像

C# : change listbox items color

excel vba - 检查单选按钮是否被选中?

excel - Office.js 中的 ExecuteMso 是否等效?

快速更改 GMSAutocompleteViewController 导航栏颜色

jquery - 如何使用 jQuery 更改输入边框颜色,具体取决于其值?

vba - 迭代范围内的单元格时出现类型不匹配错误