昨天有人问了这样一个问题,在某区域内容,她想统计出具有某种背景色的单元格的数量,能够实现这样的统计应该是有几种不同的途径,但是今天我想向大家介绍是通过VBA自定义一个函数来实现这样的统计;
什么是自定义函数呢?就是说在excel中某人有实现各种各样功能的函数,比如求和SUM,比如查询VLOOKUP,这些函数我们可以直接拿过来用,但是有些特殊的场景,没有提供我们可以实现想要的功能函数,这时有编程基础的同学就可以自己试着去进行自定义函数了;
在下表中,A1:D6这个区域包含着有绿色的单元格,接下来我们来编写一个CountC函数,来实现统计;
在工作表名称上单击鼠标右键,然后选择“查看代码”;
在打开的窗口中选择“插入”菜单下的“模块”;添加一个模块供我们存放代码;
在插入的模块中输入如下代码;这个代码很简单,只有几行处理语句,没有学过编程的同学不必困惑,只要按照我说的操作即可;重点是在这里我们设置了一个叫做CountC的函数,该函数包含两个参数;第一个参数为指定区域,第二个参数为指定要统计哪种背景色的单元格;
回到工作表中,我们来实验一下;我们在F6单元格中输入=CountC(A1:D6,D2),这个函数的意义是我们想在A1:D6这个区域中统计与D2单元格具有相同背景色的单元格有多少,结果为5;
注:我们可以在这个基础之上统计背景色,字体格式,字体颜色,等等,只要稍作改动代码即可,大家先把这个小案例动手实验一下吧~