Function ColorSum(统计范围 As Range, R As Long, G As Long, B As Long, Optional 背景色 = True)
'R G B 三个参数是颜色值
'最后一个参数为1时统计背景色,为0时统计字体颜色
Dim C As Long
Dim tRng As Range '临时变量
Dim IsBackGround As Boolean
Dim Re
On Error Resume Next '出现错误时继续执行下一行
IsBackGround = 背景色
C = RGB(R, G, B) '保存用户输入的颜色到C
For Each tRng In 统计范围
If IsBackGround Then '判断是否统计的是背景色
If tRng.Interior.Color = C Then Re = Re + (tRng)
Else
If tRng.Font.Color = C Then Re = Re + (tRng)
End If
Next
ColorSum = Re
End Function
示例
就如同使用内置函数一样使用这个自定义函数
在B1单元格输入下面公式
B1=colorsum(A1:A30,255,0,255,FALSE)
就是统计A1到A100中,字体颜色是紫色的合计,结果在B1单元格