BY Excel和VBA(公众号:Excel和VBA)
前景提要
说到单元格的计数,相信大家都非常的熟悉了,单元格的计数嘛,这不是很简单的操作,Excel自带有很多的函数可以实现这样的效果
count
countif
counta
....,,,
但是如果我们需要针对单元格的颜色来计数呢?
上面的这些函数还可以实现嘛?
很明显就不能了,因为Excel并没有自带针对单元格颜色的计数,那怎么办呢?之前我们用VBA的方法将相同数据分别标记了不同的颜色,现在我希望按照颜色计数,怎么实现呢?
场景说明
这是我们之前实现的案例,来看看在这样的情况下,我们要如何来根据单元格颜色来计数
很明显的啦,VBA也不会有单独针对这个单元格颜色计数的行数,只是我们自己可以根据之前所学来自己算
如何算呢?
之前我们知道了如何将单元格的颜色调整成我们想要的颜色,那么我们现在逆过来,先判断单元格的颜色,然后循环累加就可以了。
代码区
Sub test3()
Dim rng As Range, a As Range
Set rng = Application.InputBox("请选择单元格区域", "区域的选择", , , , , , 8)
For Each a In rng
If a.Interior.Color = vbRed Then
CRED = CRED + 1
ElseIf a.Interior.Color = vbBlack Then
CBLACK = CBLACK + 1
ElseIf a.Interior.Color = vbBlue Then
CBLUE = CBLUE + 1
ElseIf a.Interior.Color = vbYellow Then
CYELLOW = CYELLOW + 1