Excel VBA 8.35计数公式有很多,但是并不能实现单元格颜色的计数
计数公式有很多,但是并不能实现单元格颜色的计数
点击上方“Excel和VBA”,选择“置顶公众号”
致力于原创分享Excel的相关知识,源码,源文件打包提供
一起学习,一起进步~~
说到单元格的计数,相信大家都非常的熟悉了,单元格的计数嘛,这不是很简单的操作,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
End If
Next a
MsgBox "红色" & CRED & "黑色" & CBLACK
End Sub
看看效果,其实还是很简单的
今天的代码还是很简单的,无非就是判断每个单元格的颜色,然后循环计数即可了
回顾下之前的代码
如果获取单元格的颜色呢?
a.Interior.Color =*****
其实还可以根据颜色来求和,相减等操作,这里就不一一展开了,相信凭借大家的才智,剩下的都不是问题了。
代码解析
赞 (0)