Forum Discussion

matt nipper's avatar
matt nipper
Copper Contributor
Dec 20, 2016

sum by color when colors are set by conditional formatting

i have a column of numbers that are color coded (to represent a specific mfg department) and I need to total the values by color.  Meaning I need to total all the values that have the same background...
  • Jamil's avatar
    Jan 19, 2017

    Hi matt nipper,

     

    since you mentioned that you "have done an exhaustive search online" i have come up with a solution for you, although it has two limitations A) it will only work, if your rules of conditional formatting is created using conditional formatting rules with formula aka (use a formula to determine which cells to format) and B) the UDF will only work if sum range is more than one cell another word, it will not sum a single cell, as well as the conditional formatted range is more than one cell.

     

    the example file, you can download it from here. I could not upload it here, as it is a Excel Macro-enabled Workbook that contains the UDF

     

    Function SumConditionColorCells(CellsRange As Range, ColorRng As Range)
    Dim Bambo As Boolean
    Dim dbw As String
    Dim CFCELL As Range
    Dim CF1 As Single
    Dim CF2 As Double
    Dim CF3 As Long
    Bambo = False
    For CF1 = 1 To CellsRange.FormatConditions.Count
    If CellsRange.FormatConditions(CF1).Interior.ColorIndex = ColorRng.Interior.ColorIndex Then
    Bambo = True
    Exit For
    End If
    Next CF1
    CF2 = 0
    CF3 = 0
    If Bambo = True Then
    For Each CFCELL In CellsRange
    dbw = CFCELL.FormatConditions(CF1).Formula1
    dbw = Application.ConvertFormula(dbw, xlA1, xlR1C1)
    dbw = Application.ConvertFormula(dbw, xlR1C1, xlA1, , ActiveCell.Resize(CellsRange.Rows.Count, CellsRange.Columns.Count).Cells(CF3 + 1))
    If Evaluate(dbw) = True Then CF2 = CF2 + CFCELL.Value
    CF3 = CF3 + 1
    Next CFCELL
    Else
    SumConditionColorCells = "NO-COLOR"
    Exit Function
    End If
    SumConditionColorCells = CF2
    End Function

     

     

    in the attached example file you can see that from A3:G16 cells are formatted using Conditional Formatting.

    User Defined Function (UDF) is placed in cells J2 & J3 and cells I2 and I3 are the criteria color used as reference inside the UDF in J2 and J3.

     

    I hope this helps you.  

     

     Edit: uploaded file and updated the code to the correct one.

Resources