Excel VBA 8.35计数公式有很多,但是并不能实现单元格颜色的计数

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

打开APP阅读更多精彩内容