excel2010中所选区域不同颜色单元格的数量
第一步:使用GET.CELL命令获得颜色代码
参考链接
https://blog.****.net/t0nsha/article/details/3694427
https://blog.****.net/likeshining/article/details/77481347?utm_source=blogxgwz0
https://www.sohu.com/a/125118947_556186
第二步:计算过程
(方法1)
1、计算单元格颜色编码:进入“菜单栏 - 公式 - 定义名称”
相当于定义一个特殊公式,用来计算颜色代码,方便使用。(注意:不要用$去固定单元格, 63是get.cell命令使用获取单元格填充色的功能编号)
计算结果
2、计算所选区域不同颜色的单元格数量
由于我是想通过计算 “不同颜色单元格数量 * 15min ”来计算不同类型工作时长,但这里我只是计算了个数方便你们理解。其中getColorNum计算的是C14(即本单元)的颜色编号。
(注意:A:使用这种方法必定需要一个与之对应的 “相同区域对应表” 来计算出各个单元格颜色编号值,才能进行正确的数量统计,当原始表中单元格颜色改变则对应表中的对应颜色值会从默认的0变成其他的颜色编号,同时统计表便会自动进行计数,例如,对应表中颜色编号为6(黄色单元格),有6个,其他同理;B:如果嫌丑可以隐藏下面的对应表,如果嫌麻烦可以使用方法二,哈哈哈)
(方法2)
1、写自定义函数:菜单栏 - 开发工具 - visual basic
编写输入为“指定区域”+“指定颜色所在的单元格”,输出为“指定颜色单元格数量”的函数,如下图。
2、直接调用
结果与方法一相同。
终于搞完了!!!这也是我的第一次发表小文章,开心!!!
希望有用,如果哪里不对希望讨论,请发消息给我。
补充:在方法二使用模板,并导出使用宏的工作薄后,总会弹出**“隐私问题警告”**,解决方法是,点击将“visual basic”板块中的 ThisWorkBook属性之中的 RemovePersonalIformation 设为 false。