VBA问题: 我用录制宏的办法搞了一段设置单元格颜色的代码,改了一下,变成设置A1颜色的代码,

Range(A1).Interior.Parent = xlSolid
Range(A1).Interior.PatternColorIndex = xlAutomatic
Range(A1).Interior.ThemeColor = xlThemeColorAccent5
Range(A1).Interior.TintAndShade = 0.399975585192419
Range(A1).Interior.PatternTintAndShade = 0

现在已经成功设置了A1的颜色为浅蓝,
现在想加一个判断A1颜色不为浅蓝的条件语句来做一个操作,
但是如何判断呢,
if Range(A1).Interior.TintAndShade <> 0.399975585192419,
这个好像不起作用,应该怎么写呢?

另外,我用Range(A1).Interior.color = 6来设置颜色,用if Range(A1).Interior.color <> 6来判断也能实现。但是6,或者其他数字,都是设置成黑色。难道excel2010不一样了?

2010和2007已经不一样了.它已经多了一套设置底色的办法.
就是这些代码:
Range(A1).Interior.Parent = xlSolid
Range(A1).Interior.PatternColorIndex = xlAutomatic 返回或设置内部图案的颜色,表示为当前调色板中的颜色编号或下列 XlColorIndex 常量之一:xlColorIndexAutomatic 或 xlColorIndexNone。Long 类型,可读写。
Range(A1).Interior.ThemeColor = xlThemeColorAccent5 '返回或设置 Interior 对象的主题颜色图案。可读/写 Variant 类型
Range(A1).Interior.TintAndShade = 0.399975585192419 '返回或设置一个 Single,使颜色变深或变浅。
Range(A1).Interior.PatternTintAndShade = 0 '返回或设置 Interior 对象的淡色和底纹图案。可读/写 Variant 类型。

还有一种办法就是:
With Worksheets("Sheet1").Rectangles(1).Interior
.Pattern = xlGrid '返回或设置一个包含 xlPattern 常量的 Variant 值,它代表内部图案。xlgrid代表网格
.PatternColor = RGB(255,0,0) '以 RGB 值返回或设置内部图案的颜色。Variant 类型,可读写。
End With
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-05
[A1].Interior.colorIndex = 6 '这是调色板上的颜色序号
[A1].Interior.Color = RGB(120, 120, 255) '这是真正的颜色,16进制
MsgBox Hex([A1].Interior.Color) '查看颜色的16进制值,可以用这个作为对比,并进行判断本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网