How do I only display the rows when a specific background colour appears in any cell across multiple columns

ihatelag used Ask the Experts™
I have a several rows in my Microsoft Excel 2010 worksheet and many columns. There is a Red background colour that appears on random cells and I want to create a way to only show those rows where there is at least one cell with a Red background colour.

Sample (The word "Red" represent the background colour of the cell):

Column:      A          B           C          D         E  .... AZ      (column range can go up to column AZ)
Row1   :      Red                                            Red
Row2   :                                      
Row3   :
Row4   :                                Red

So on a new Worksheet  I would like to see with the following output with the rows without any background colour not being shown:

Column:      A          B           C          D         E  .... AZ
Row1   :      Red                                            Red
Row2   :                                Red

If a new function is required to do this type of filtering, I do not mind creating a module in the Workbook for this to work.

Many thanks in advance
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Rob HensonFinance Analyst

What is creating the red background? Conditional Formatting, or random cell filling?

If it is conditional then you could probably create a helper column to check for the condition and then filter on that.
If coloured manually, you will still need a helper column. The below function can be used in that column and checks every cell in the selected range, which will be in your case the row of data, and will return TRUE if any cell in that range contains a cell with a RED background.

Public Function HasRed(rng As Range) As Boolean    
    Dim cell As Range
    For Each cell In rng
        If cell.Interior.Color = vbRed Then
            HasRed = True
            Exit For
        End If
End Function

Open in new window


Thank you so much, you are a genius Wayne!



Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial