0

我一直在试图弄清楚如何根据颜色对单元格值求和,幸运的是我在一个论坛上找到了一个漂亮的 VBA 自定义颜色函数,它可以让我做到这一点。

但是,我的问题在于根据相邻列中的单元格值自动为行着色。

  colour    title   title   title   title   Price   
    y   test    test    test    test    £425.00 
    y   test    test    test    test    £832.00 
    w   test    test    test    test    £456.00 
    g   test    test    test    test    £550.00 


Colour  Total               
        £456.00             
        £550.00             
        £1,257.00               

所以看看上面的内容,总数将根据单元格颜色对值求和,这是有效的。但我必须手动为单元格着色,我想让它们根据最左列中的字母自动填充,这使用条件格式。一旦我应用条件格式,公式就不再起作用。

希望有人可以帮助我吗?我将发布我在下面找到的代码:

Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean)
    Dim rCell As Range
    Dim lCol As Long
    Dim vResult

     ''''''''''''''''''''''''''''''''''''''
     'Written by Ozgrid Business Applications
     'www.ozgrid.com

     'Sums or counts cells based on a specified fill color.
     '''''''''''''''''''''''''''''''''''''''

    lCol = rColor.Interior.ColorIndex

    If SUM = True Then
        For Each rCell In rRange
            If rCell.Interior.ColorIndex = lCol Then
                vResult = WorksheetFunction.SUM(rCell, vResult)
            End If
        Next rCell
    Else
        For Each rCell In rRange
            If rCell.Interior.ColorIndex = lCol Then
                vResult = 1 + vResult
            End If
        Next rCell
    End If

    ColorFunction = vResult
End Function
4

0 回答 0