用vba对满足条件范围的单元格求和(使用vba自定义函数)
用vba对满足条件范围的单元格求和(使用vba自定义函数)End IfSumColor = Application.Sum(icell) SumColorApplication.VolatileFor Each icell In ary1If icell.Interior.ColorIndex = i.Interior.ColorIndex Then
Hello,今天有粉丝遇到这样的一个问题,就是老板给他很多带有颜色的表格,想让他根据颜色求和以及计数,他一个一个做了很久也没做出来,问我有没有什么简单的方法,当然有了,我们觉得最快捷的方法就是使用vba自定义函数来计算,操作也非常的简单,下面就让我们来一起操作下吧
一、代码展示1.根据颜色求和代码
Function SumColor(i As Range ary1 As Range)
Dim icell As Range
Application.Volatile
For Each icell In ary1
If icell.Interior.ColorIndex = i.Interior.ColorIndex Then
SumColor = Application.Sum(icell) SumColor
End If
Next icell
End Function
2.根据颜色计数代码
Function CountColor(x As Range ary2 As Range)
Application.Volatile
For Each i In ary2
If i.Interior.ColorIndex = x.Interior.ColorIndex Then
CountColor = CountColor 1
End If
Next
End Function
在这里我们定义了SumColor与CountColor两个自定义函数,
SumColor:对指定颜色的单元格求和
第一参数:想要求和的单元格颜色
第二参数:求和的数据区域
CountColor:对指定颜色的单元格计数
第一参数:想要计数的单元格颜色
第二参数:想要计数的单元格区域
二、设置自定义函数我们先点击开发工具,然后点击visal basic,然后在vba的编辑界面中点击插入,选择模块,将刚才定义的两个函数粘贴进去,直接将界面关闭即可
三、使用函数自定义函数与内置函数的使用方法是一摸一样的,我只需输入函数对应的名称,然后填写相应的参数即可
怎么样,使用这种方法就统计带颜色的单元格是不是非常的简单呢?
我是Excel从零到一,关注我持续分享更多Excel技巧