我编写了一个 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
最佳答案
选项卡的默认颜色是无颜色,在 ColorIndex 中的值为 -4142 或 xlcolorindexnone
.
如果你把而不是:
.Tab.Color = xlAutomatic
编码:
.Tab.ColorIndex = xlColorIndexNone
它应该按需要工作。
关于vba - 选项卡 ColorIndex 重置 excel vba,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41521640/