Excel如何计算某一栏位颜色的次数
发布网友
发布时间:2022-04-29 18:29
我来回答
共1个回答
热心网友
时间:2022-06-19 03:16
亲,可以用VBA解决。以下是代码,运行后,将统计把A列不同颜色分类统计在C列。
Sub sumcolor()
Dim r, c, n As Long '定义长整型变量
Dim rg As Range '定义一个Range变量
Dim d, k '定义两个可变类型的变量
Set d = CreateObject("Scripting.Dictionary") '创建字典
r = Range("A1").SpecialCells(xlCellTypeLastCell).Row '获取A列最大行号
For Each rg In Range("A1:A" & r) '从A列第1到最后一行进行循环,每个循环的单元格是rg
c = rg.Interior.Color '把循环的每个单元格背景色数值赋给变量c
If d.exists(c) Then '如果字典中存在c值
d(c) = d(c) + 1 'c累加1
Else '如果字典中不存在c值
d(c) = 1 'c赋值1
End If '结束判断
Next '下一个循环
Columns("C:C").Clear '清空C列
For Each k In d.keys '循环读取字典的每一个关键字
n = n + 1 'n值累加1
With Range("C" & n) '定义简写C列的第n行
.Interior.Color = k '用字典关键字的值填充背景色
.Value = d(k) '用字典关键字对应的项目值填写单元格
End With '结束简写
Next '下一个循环
Set d = Nothing '清除字典对象
End Sub