0

色に基づいてセルの値を合計する方法を見つけようとしていましたが、幸いなことに、フォーラムで気の利いた VBA カスタム colorfunction を見つけて、まさにそれを行うことができました。

ただし、私の問題は、隣接する列のセル値に基づいて行を自動的に色付けすることにあります。

  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