Excel 2010 – 细胞和形状着色 – 我的想法
Excel 2003有一个简单的… interior.colorindex和只有56个数字。 但是,为了更好地控制,Excel 2010对此进行了更改。
现在,当开发一个应该复制一个单元格颜色(在VBA中)的程序时,根据单元格内容将单元格的颜色设置为一个Excel形状…我失去了几个不同的对象,如下所示:
对于手机:
Sheets("Config").Range("E1").Interior.ThemeColor = 10 Sheets("Config").Range("E1").Interior.TintAndShade = -0.249977111117893
形状:
Activesheet.shapes("R3").fill.forecolor.objectthemecolor = 7 Activesheet.shapes("R3").fill.forecolor.brightness = 0.6 Activesheet.shapes("R3").fill.forecolor.schemecolor = 42 Activesheet.shapes("R3").fill.forecolor.tintandshade (and this doesn't even work)
我find了一个更简单的方法,不需要上述的所有不同的命名。
所有你需要的是:
range("b9").Interior.Color
这将返回一个很长的…像这样的例子:682978(十进制hex颜色)
而且,你可以像这样设置形状的颜色:
.Shapes(xName).Fill.ForeColor.RGB = 682978 (some variable)
其他有用的说明是:
range("h1").Interior.Color = rgb(0,123,124)
和,在控制台中打印
? rgb(0, 123, 124)