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.
Video: How to Hide Worksheet in Excel? Hide Sheet in Excel When I was creating an excel dashboard, there were multiple sheets which I used for calculation purpose and never wanted anybody to make any…
Here we are coming with one more exciting post which can help you to solve very basic but very important problems while writing VBA codes.
In MS Access, the best way to create a multiuser tool is to divide your solution. One part acts as interface and other one acts as database. You can have multiple copies of the interface distributed to users which are connected to central MS Access database saved at common shared drive. To connect the interface to database, you can use link table feature (Access>External Data>Import & Link) available in MS Access. Below is a commonly required VBA code which helps the developers to re-link MS Access linked tables when the database is renamed or moved to other location
VBA to Browse Outlook Folder Outlook is most commonly used emailing application used in the world. Many people spend their entire day on Outlook applications to read and respond to emails. To automate certain rule-based…
VBA Code to Convert MM.DD.YYYY To DD.MMM.YYYY in Excel In different parts of the world, there are different languages spoken and written. With this, a VBA programmer also faces language related issues while writing a…
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.
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