首页 > 解决方案 > 一个字母代表所有人,但颜色不同

问题描述

我希望每个单元格值都以字母 A、B、C... 开头,并涂上某种颜色。

只有当它只说 A 它有效时,我才能做到这一点。需要修复什么?

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Left(Target.Value, 1) = "A" Then Target.Interior.Color = 34
If Left(Target.Value, 1) = "B" Then Target.Interior.Color = 36
If Left(Target.Value, 1) = "C" Then Target.Interior.Color = 39
If Left(Target.Value, 1) = "D" Then Target.Interior.Color = 41
If Left(Target.Value, 1) = "E" Then Target.Interior.Color = 38
If Left(Target.Value, 1) = "F" Then Target.Interior.Color = 37
If Left(Target.Value, 1) = "G" Then Target.Interior.Color = 35

End Sub

标签: excelvba

解决方案


您的宏有效,但颜色相同。使用 internal.colorindex 属性

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If Left(Target.Value, 1) = "A" Then Target.Interior.ColorIndex = 1
   If Left(Target.Value, 1) = "B" Then Target.Interior.ColorIndex = 2
   If Left(Target.Value, 1) = "C" Then Target.Interior.ColorIndex = 3
   If Left(Target.Value, 1) = "D" Then Target.Interior.ColorIndex = 4
   If Left(Target.Value, 1) = "E" Then Target.Interior.ColorIndex = 5
   If Left(Target.Value, 1) = "F" Then Target.Interior.ColorIndex = 6
   If Left(Target.Value, 1) = "G" Then Target.Interior.ColorIndex = 7
End Sub

你有调色板


推荐阅读