关于Excel的颜色,全部在这里。还赠送您一个颜色的自定义函数

各位朋友,今天和你们分享Excel中颜色的一些基础知识,详见下面列表:

1、颜色索引值及其使用:ColorIndex;

2、颜色的RGB值;

3、颜色的RGB值与十进制值的相互转换;

4、颜色的RGB值与16进制值的相互转换;

5、颜色的中文名称、英文名称及其使用;

6、赠送的自定义函数演示效果及代码;


一、颜色索引表

关于Excel的颜色,全部在这里。还赠送您一个颜色的自定义函数

颜色索引


在Excel中,颜色索引为1~56,共56个,我们可以用下面的VBA代码生成颜色索引和对应的颜色:

Sub 生成1至56号颜色()

Dim a%

For a = 1 To 56

Range("A" & a + 2) = a '列生成颜色索引代码

Range("B" & a + 2).Interior.ColorIndex = a 'B列显示对应的颜色

Next

End Sub

关于Excel的颜色,全部在这里。还赠送您一个颜色的自定义函数

生成颜色

下面我们来看看颜色索引值是怎么使用的:

1、在工作表中的使用

在工作表中,我们可以用于自定义格式来设置单元格格式(如下图),我们可以用【[颜色1]~[颜色56]】来调用这56种颜色中的任意颜色(一定要加上中括号)。

关于Excel的颜色,全部在这里。还赠送您一个颜色的自定义函数

自定义格式调用颜色索引值

上面的格式设置,使用了自定义格式中的四个区间,分别是:正数;负数;零;文本,每个区间用英文状态的分号【;】分隔,设置每个区间的格式代码,当单元格内容为相应格式时,显示对应的格式的设置效果(如此例中的字体颜色效果),有点类似于条件格式。

2、在VBA代码中的使用

我们也会用到用VBA代码给单元格填充颜色,例如我在本节开始生成颜色填充的代码。代码中调用颜色索引值的是:

<code>Range("B" & a + 2).Interior.ColorIndex = a/<code>

即,当a=1时,单元格B3填充颜色3;…依次累加…;当a=56时,单元格B58填充颜色58。

注意:这里用的是ColorIndex,要和后面以示区别。


二、颜色的RGB值

在Office2007及以上的版本中,支持了自定义颜色,即除了以上56种颜色外,可以设置和显示更多的颜色。见下图:

关于Excel的颜色,全部在这里。还赠送您一个颜色的自定义函数

RGB颜色设置

RGB是颜色三原色的缩写:R(ed)红色,G(reen)绿色,B(lue)蓝色,每个颜色基色用8bit数据表示,即2^8=256色。通过设置RGB值,我们可以获得256×256×256=16777216种颜色。这个常用于在工作表中对单元格底色、单元格字符颜色、单元格边框颜色等的设置(在VBA中的使用,见下一节)。

给大家分享一个自定义函数,用于直接提取单元格填充色的RGB值

Function GetRGB(Rng As Range)

Application.Volatile '定制该函数为易失性函数

If Rng.Count > 1 Then

GetRGB = "请选择单个单元格" '限制选取单个单元格

Else

Dim Cr, R, G, B '申明变量

Cr = Rng.Interior.Color '获取单元格颜色值

R = Cr Mod 256 '计算颜色R值

G = (Cr - R) / 256 Mod 256 '计算颜色G值

B = (Cr - R - G * 256) / 256 ^ 2 '计算颜色B值

GetRGB = R & "," & G & "," & B '输出RGB值

End If

End Function

关于Excel的颜色,全部在这里。还赠送您一个颜色的自定义函数

获取单元格填充色的RGB值

请大家注意代码中的这句:【Rng.Interior.Color】,与上面的【Range().Interior.ColorIndex】的区别:

①Interior.Color表示单元格的颜色值,即颜色的十进制值;

②Interior.ColorIndex表示单元格的颜色索引,即数字1~56。

在用VBA填充单元格颜色的时候,一定要注意Color和ColorIndex的区别。下面我给大家说说颜色的十进制值。


三、颜色RGB值与十进制值相互转换

在上一节的代码中,是把十进制的颜色值转换为RGB的颜色值,那么RGB的颜色值是怎么转换为十进制的颜色值的呢?公式如下:

<code>十进制颜色值=R×256^0+G×256^1+B×256^2/<code>

获取十进制值的方法:①直接用代码Interior.Color获取;②通过上面的公式,用RGB值计算的来。

我们对单元格颜色填充的过程录制一个宏。通过录制的代码,可以看出代码中用的颜色值是十进制的,同样我们可以把要填充的颜色,通过RGB值或十进制值,利用VBA代码填充到单元格中(见下图)。

关于Excel的颜色,全部在这里。还赠送您一个颜色的自定义函数

RBG值和颜色值在VBA中的使用

四、颜色RGB值与的十六进制值相互转换

这个在EXCEL中用得很少,主要给大家分享RGB颜色值与16进制的颜色代码相互转换的原理:

通过最前面的颜色索引表,可以看出16进制的颜色代码由6个字符(除井号)组成,分为三组:1~2位是R颜色的代码,3~4位是G颜色的代码,5~6位是B颜色的代码。转换过程也比较简单 ,用工作表内置的十进制转16进制函数【DEC2HEX】,将10进制的R、G、B值分别转化为16进制的R、G、B值(注意格式为两位数),然后将R、G、B的16进制代码按顺序合并起来,再最前面加上井号。

16进制的颜色代码,要转换为RGB的值,用16进制转10进制函数【HEX2DEC】反过来操作就可以了。

五、颜色中文、英文名称及其使用

在Excel中,有部分颜色,可以直接使用名称明细如下:.

关于Excel的颜色,全部在这里。还赠送您一个颜色的自定义函数

可用直接使用名称的颜色

可用中文名称的颜色(7个):黑色、白色、红色、绿色、蓝色、黄色、洋红;

可用英文名称的颜色(8个):vbBlack、vbWhite、vbRed、vbGreen、vbBlue、vbYellow、vbMagenta、vbCyan。

1、中文名称用在自定义格式中,详见下图

关于Excel的颜色,全部在这里。还赠送您一个颜色的自定义函数

中文颜色名称在自定义格式中的使用

2、英文名称用在VBA代码中,详见下图

关于Excel的颜色,全部在这里。还赠送您一个颜色的自定义函数

英文名称在VBA中的使用


案例中,主要用单元格填充效果,是因为单元格填充显示效果更明显。能用于单元格底色的颜色代码,同样可以用于单元格中字体、单元格边框、绘制的图形线条和填充、图表的颜色等。


既然说到颜色,很多人都有按颜色来对单元格进行计算的需求,今天赠送大家一个自定义函数,可以实现按颜色对数据进行求和、统计、合并。效果如下:

关于Excel的颜色,全部在这里。还赠送您一个颜色的自定义函数

按颜色计算的自定义函数

关于Excel的颜色,全部在这里。还赠送您一个颜色的自定义函数

自定义函数的代码

由于自定义代码较多,单独贴出来会影响阅读效果,故直接截图上传的。有需要文中案例和代码的朋友,可以关注我,然后用私信 发送关键字【颜色】就可以获文中所有的资料和代码(由于用的是VBA代码,需要启用宏才能正常使用)。

另外,在关于颜色计算上,你们还有比较好的建议或者问题,都可以在下面给我留言、讨论。


好了,今天就到这里,感谢各位朋友的关注和支持。

如果你喜欢我分享的内容,请点个赞支持下;

如果你觉得我分享的内容对你有帮助,可以关注我;

如果要看我以前分享过的好玩的内容,大家可以去我的主页查看历史文章。


分享到:


相關文章: