近期在弄一个需要给近千个单元格设置不同颜色的表格,对于我颜色不敏感(不知道别人啥样),若是设置错,根本看不出来,先给大家看看让人懵逼的大表格的一小小部分。
操作方式:
对于这个小功能,先用文字(设置了数据验证)标识不同区域的;然后用条件格式设置了背景颜色;最后通过vba背景样式copy过来。
在把背景样式copy过来,结果遇到了麻烦,尝试了多种方式后,通过vba代码才把背景样式copy 过来了。把我这几天遇到的坑坑梳理了一下。
1设置单元格背景颜色的方式。有如下几种方式:
1)最常用方式:选中要设置背景颜色的单元格,然后依次选择开始,字体组中的"填充颜色",选择合适的颜色添加即可。
2).条件格式设置:在开始选项卡中,找到样式区域,选择条件格式,设置响应的条件格式即可。(针对同一区域,可以设置多个条件,若条件冲突,后设置样式会替代先设置的样式)
3).VBA代码设置:目前没有通过函数方式设置单元格背景颜色的方法,若特定情况下,可以通过vba设置单元格背景颜色。
对应设置代码如下:
Sheet4.Cells(4, 5).Interior.Color = RGB(255, 0, 0) '颜色值
2.取得单元格背景颜色
正常状况下很少有用到取得单元格背景颜色的时候,对于一些专业人员可能会用到。
1) 通过常规方式设置的单元格背景可以通过单元格的Interior.Color属性取得。
Eg:Sheet4.Cells(4, 5).Interior.Color
2)若通过条件格式设置的单元格背景通过上面的代码无论如何也无法取得。只能通过单元格的DisplayFormat 属性来取得。EG:Sheet5.Cells(i, k)
.DisplayFormat.Interior.Color
3.下面展示一个根据条件格式设置背景赋给其他单元格的例子。