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.
You must have faced a condition when your data cells contain extra spaces, leading spaces or trailing spaces and you wanted to remove these extra spaces to standardize the data. So here you may use…
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.
This video will help you to understand how you may use conditional formatting to highlight row based on conditions. Subscribe us for more updates
VBA Code to Find Last used Column or Row in Excel Sometimes as a developer, you need to take actions in Excel sheets based on last row or column. In Excel, there are two kinds…
AVERAGEIF function is used to get the “average” of values for matching criteria across range. Average = Sum of all values / number of items.
AND, OR, NOT Functions” provide result in “TRUE” or “FALSE”. If the logical condition is correct and matching the parameters provided, then result would be “TRUE” or if logical condition is not correct and not matching the parameters provided then result would be “FALSE”
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