字体颜色变为白色而不是灰色

时间:2016-06-30 15:54:36

标签: excel vba excel-vba

我还在学习如何编码,但我不知道为什么我在这么简单的任务中失败了,我已经做了很多次。

代码应该将字体颜色更改为灰色,但它会变为白色。

For j = 1 To 12

With wsTank.Cells(first(i), j)

.Value = "NIL"

With .Font
 .ThemeColor = xlThemeColorDark1
 .TintAndShade = -0.499984740745262
End With
With .Interior
 .Pattern = xlNone
 .TintAndShade = 0
 .PatternTintAndShade = 0
End With
With .Borders(xlEdgeTop)
 .LineStyle = xlContinuous
 .ColorIndex = xlAutomatic
 .TintAndShade = 0
 .Weight = xlHairline
End With
With .Borders(xlEdgeBottom)
 .LineStyle = xlContinuous
 .ColorIndex = xlAutomatic
 .TintAndShade = 0
 .Weight = xlHairline
End With
End With


Next j

我在网上搜索了很多,发现了一个有类似问题的人:

https://www.experts-exchange.com/questions/26937588/Excel-vba-font-color-keeps-shoeing-white-instead-of-gray.html

经过几次愿意帮助的人,他做对了。

但我只是不理解他的解释......因此,我没有成功地将其应用于我的案例。

有人可以赐教我吗?

(这个问题发生在excel 2010上。代码在excel 2013中运行得很好)

2 个答案:

答案 0 :(得分:3)

您的链接中的答案是根本不使用Themecolor,而是使用带有RGB值的Color

With .Font
     .Color = &H808080
     .TintAndShade = 0
end with

答案 1 :(得分:1)

这适用于任何版本的Excel。

.Font.Color = RGB(255, 255, 255)

xl...语句在版本更改时可能会有所不同。