Excel:Interior.ColorIndex为同一个索引生成不同的值
我想设置一个单元格的范围有一个灰色的内部。 我想要的灰色是在黑色和白色的后面(上排,左起第三个)。
我手动设置一个单元格的内部颜色,然后使用vba到ColgIndex的MsgBox。 它提出了19,但是,当我设置一个单元格的Interior.ColorIndex属性等于19,单元格不是灰色,但灰白色/奶油色。
下面的代码实际上将单元格(单元格A1)的颜色从灰色更改为了:
Dim r As Range Set r = Range("A1") Dim n As Integer n = r.Interior.ColorIndex r.Interior.ColorIndex = n
任何人都可以解释吗?
我相信ColorIndex
只支持有限数量的颜色。 试试这个:
Dim r As Range Dim n As Long ' The return values are large, so Integer will overflow Set r = Range("A1") ' The color is 14806254 n = r.Interior.Color r.Interior.Color = n
或者为了您的实际目的:
Dim myRange As Range Dim n As Long myRange = Range("A1:F1") n = 14806254 ' Color away! For Each cell In myRange cell.Interior.Color = n Next cell
您还需要设置themecolor。
Dim r As Range Set r = Range("A1") Dim n As Integer n = r.Interior.ColorIndex With r.Interior .ColorIndex = n .ThemeColor = xlThemeColorDark2 End With