Excel 用vba 统计紫色字

2025-04-05 16:44:27
推荐回答(1个)
回答1:

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单元格