VBA Code to Count Color Cells with Conditional Formatting

Have you ever got into situation in office where you need to count the cells with specific color in conditional formatted Excel sheet? If yes then you can use following code which counts the number of cells with specific color (here it is yellow) and put the count in cell


Public Sub CountColorCells()
    'Variable declaration
    Dim rng As Range
    Dim lColorCounter As Long
    Dim rngCell As Range
    'Set the range
    Set rng = Sheet1.Range("A2:A11")
    'loop throught each cell in the range
    For Each rngCell In rng
        'Checking Yellor color
        If Cells(rngCell.Row, rngCell.Column).DisplayFormat.Interior.Color = RGB(255, 255, 0) Then
            lColorCounter = lColorCounter + 1
        End If
    'Display the value in cell A12
    Sheet1.Range("A12") = lColorCounter
End Sub

It is worth to mention that DisplayFormat.Interior.Color works only on Excel 2010 or above. Also the above code does not count the cells where cell color is manually changed by user. You can use .Interior.Color to get the cell colors or read this post.

To use this code in your Excel file, follow below steps:
1. Open the Excel file where you want to count the color cells
2. Press Alt+F11
3. Insert a Module (Insert>Module) from menu bar
4. Paste the code in the module
5. Now add a shape in Excel sheet
6. Give a name to the shape like ‘Refresh Count’
7. Right click on the shape and select ‘Assign Macro…’
8. Select CountColorCells from the list and click on ‘Ok’ button
9. Done

Here I have counted the cells with yellow color. You can change RGB (#,#,#) code to count other colors. You can find RGB codes of any color using following steps:

1. Select the cell which contain the color you want to count
2. Right click and select ‘Format Cells…’
3. In the Format Cells dialog box go to ‘Fill’ tab and click on ‘More Colors…’
4. That’s all, in the ‘Color’ dialog box, you can view the RGB (Red, Green, Blue) codes of the color

Leave a Reply

VBA Code to Delete File
VBA Code to Delete File

In this article we are going to show you how you can delete file or files using a single line of VBA code. 1. Delete a specific file from the folder, 2. Delete specific type of files from the folder, 3. Delete all files from the folder

VBA Code to Add Border to Excel Range
VBA Code to Add Border to Excel Range

Through formatting the cells, you can make your Excel data more beautiful and easier to understand. If you record a macro to add borders to Excel range, you will notice that it generates 30 plus lines of code for just a small work. Here we are sharing one line of code which does the same thing.

Protect Excel Sheet for Manual Input
VBA Code to Protect Excel Sheet for Manual Input but Allow Programming Inputs

Did you come across any requirement where you want the user to interact with a sheet only through VBA Form? Here is a simple code which can help you.