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
Next
'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
If you are look for a code to sum the cells based on it’s color then you can read this post.
VBA Code To Change Cell Color Excel supports more than 16 million colors in a cell; hence you should know how to set the exact color in a cell. To do this, you can use…
VBA Code to Read Outlook Emails Reading emails from Outlook and capture them in Excel file is very common activity being performed in office environment. Doing this activity manually every time is quite boring and…
VBA Code To Add Items In Listbox Control Using ListBox in Userform is very common. You can use ListBox.AddItem function to add items in the listbox.; however, it is little difficult to add items in…
Merge Excel Files From last few months, we have been receiving frequent requests from users for a VBA tool which can consolidate Excel files from a folder. So here we come with one more free…
Excel has built-in options to make graphs, it doesn’t have a heat map feature. However, you can quickly and easily create a heat map in Excel using conditional formatting.
Free File Renamer Tool – Quickly Rename files batch using Excel VBA Here is another help code and tool for programmers to rename files. You can use this tool for renaming all files available in…
Any way to make this a function not a sub
Hi Natasha,
It is not possible to access Interior property of Cells in Excel when using the code as Excel Function / Formula; hence the code needs to be manually called using a button.
Regards
ExcelSirJi Team
Is there a way to span this macro to be applied to 25 different sheets in a workbook?
Hi Bob,
You can make use of following code to loop through each worksheet in the workbook and count the number of cells with conditional formatting.
Hi There,
I want to count the conditionally formatted RED colored cells but its not working…
Range : D40 to D70
Sample Cell : K40
Total Cells : L40