Excel VBA - 三个连续的单元格具有相同的interior.colorindex,但这三个单元格的范围返回不同的颜色

时间:2013-12-03 09:18:48

标签: excel vba excel-vba colors

我有三个连续的单元格(A1,B1,C1),它们的interior.colorindex都是15.但如果我检查单元格(A1).resize(1,3).interior.colorindex = 15,它返回False ...无法弄清楚为什么......

1 个答案:

答案 0 :(得分:0)

单元格内部可以具有相同的ColorIndex,但仍然具有不同的Color。也许这是你的问题?

如果所有三个单元格具有相同的Range("A1").Resize(1, 3).Interior.ColorIndex ColorIndex,则

Color将仅返回15。如果Color不同,则即使Null相同,它也会返回ColorIndex

Excel工作簿具有56种颜色的预定义调色板。这些中的每一个都与1到56之间的颜色索引相关联(0表示没有颜色)。 (您可以 edit a workbook's color palette更改每个索引所指的颜色。)

如果您为一个单元格内部分配了一个不属于调色板的Color,然后询问它对应的ColorIndex,那么索引将捕捉到该单元格中最接近颜色的那个。调色板(我认为最小的RGB距离)。这就是为什么两个稍微不同的Color可以返回相同的ColorIndex