Tab ColorIndex reset excel vba

我写了一个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 

在这里输入图像说明

该选项卡的默认颜色是ColorIndex中值为-4142或xlcolorindexnone任何颜色。

如果你把而不是:

 .Tab.Color = xlAutomatic 

代码:

 .Tab.ColorIndex = xlColorIndexNone 

它应该按照要求工作。