打开 VBA 模块编辑器并复制代码

  1. 媒体 Alt + F11键 键打开 Microsoft Visual Basic应用程序 窗口。
  2. 在打开的窗口中,单击 插页 > 模块 创建一个新的空白模块。
  3. 然后,将以下代码复制并粘贴到空白模块中。

    Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean = False) As Variant
    'Updateby Extendoffice
        Dim rCell As Range
        Dim lCol As Long
        Dim vResult As Double
        lCol = rColor.Interior.ColorIndex
        vResult = 0
        If SUM Then
            For Each rCell In rRange
                If rCell.Interior.ColorIndex = lCol Then
                    vResult = vResult + rCell.Value
                End If
            Next rCell
        Else
            For Each rCell In rRange
                If rCell.Interior.ColorIndex = lCol Then
                    vResult = vResult + 1
                End If
            Next rCell
        End If
        ColorFunction = vResult
    End Function

创建公式以按字体颜色对单元格进行计数和求和

  • 根据特定字体颜色对单元格进行计数
=colorfunction(G2,$B$2:$E$12,FALSE)

备注:在此公式中, G2 是具有您想要匹配的特定背景颜色的参考单元格; $B$2:$E$12 是要计算 G2 颜色的单元格数量的范围; FALSE 用于对具有匹配颜色的细胞进行计数。

  • 根据特定字体颜色对单元格求和

    =colorfunction(G2,$B$2:$E$12,TRUE)  

    备注:在此公式中, G2 是具有您想要匹配的特定背景颜色的参考单元格; $B$2:$E$12 是要计算 G2 颜色的单元格数量的范围; TRUE 用于对具有匹配颜色的单元格求和。

如果觉得我的文章对你有用,请随意赞赏