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)
最佳答案
我找到了一种更好更简单的方法,它不需要上述所有不同的命名..
所有你需要的是:
range("b9").Interior.Color
这将返回一个长...例如:682978(十进制的十六进制颜色)
而且,您可以像这样设置形状的颜色:
.Shapes(xName).Fill.ForeColor.RGB = 682978 (some variable)
其他有用的注释是:
range("h1").Interior.Color = rgb(0,123,124)
并且,用于在控制台中打印
? rgb(0, 123, 124)
关于Excel 2010 - 单元格和形状着色 - 我的想法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7847128/