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)