As Microsoft is releasing new versions of Excel after every few years, they are working on adding more and more features in the application to support increased user demands. There are hundreds of formulas/functions available in Excel which can be used to get any type of information from the data.
Have you ever felt that Microsoft should have added a formula in Excel which can count the cells based on specific color? I have seen many code requests to share a VBA code that can count the cells by its color.
To help our subscribers and developers, we are sharing 2 codes that be used to count the cells with specific color and returns the count of the matching color cells.
Public Function CountByColor(rng As Range, Red As Long, Green As Long, Blue As Long) As Long
'Variable declaration
Dim lCount As Long
Dim rngCell As Range
'Loop throught each cell in the range
For Each rngCell In rng
'Checking and count color
If rngCell.Interior.Color = RGB(Red, Green, Blue) Then
lCount = lCount + 1
End If
Next
'Return the value
CountByColor = lCount
End Function
Public Function CountByColor(rng As Range, ColorCell As Range) As Double
'Variable declaration
Dim lCount As Long
Dim rngCell As Range
'Loop throught each cell in the range
For Each rngCell In rng
'Checking and count color
If rngCell.Interior.Color = ColorCell.Interior.Color Then
lCount = lCount + 1
End If
Next
'Return the value
CountByColor = lCount
End Function
If you want to use this code in your VBA tool, then follow below steps:
Step 1: Open the Excel file in which you want to copy this code
Step 2: Press Alt+F11 to open VBA editor
Step 3: Insert a new module from Insert > Module menu
Step 4: Paste the code in the module
Step 5: Now you are ready to use this code as Excel Function/Formula
Step 6: Type the formula in the cell where you want to get the count of specific colored cells
First Code Example:=CountByColor(A2:A11,146, 208, 80)
The first parameter of the formula is the range from which you want to count the specific color cells. The second, third and fourth parameters are RGB code of the color.
Second Code Example:=CountByColor(A2:A11,A8)
The first parameter of the formula is the range from which you want to count the specific color cells. The second parameter is the cell from which you want to compare the color.
In the first VBA code, we have used RGB color codes to find the matching cells and sum the values. You can find RGB codes of any color using following steps:
Step 1: Select the cell which contain the color you want to use
Step 2: Right click and select ‘Format Cells…’
Step 3: In the Format Cells dialog box go to ‘Fill’ tab and click on ‘More Colors…’
Step 4: That’s all, in the ‘Color’ dialog box, you can view the RGB (Red, Green, Blue) codes of the color
Thanks for reading the article, subscribe us to get more VBA tricks
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…
VBA Code to list Files in Folder To work on multiple files through VBA programming, you need to have VBA code that can list files in a folder. In this article we will learn three…
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
Time & Motion Tracker is an MS Excel based tool which helps you to track Start and End time of any type of transaction or activity. The tool is developed using VBA coding which helps you to protect manual manipulation in the data by the user. It is also easy to use, just click on Start (shortcut: Ctrl+Shift+A) or Stop (Ctrl+Shft+S) buttons to record the time stamp.
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
File Manager tool is an Excel based tool which helps you to delete or move unwanted files from your system. It requires a source and destination folder (in case you want to move files). First it lists all the files available in the folder or sub-folders then you can select the action to be taken for each file such as Move or Delete. With a click of button, tool will take all necessary actions.
This helped heaps thank you very much! I now I am wondering how do I write up a VBA code to auto-update or simultaneously count cells by color when I am doing color coding my cells. Cheers
Place the code in Worksheet change event (the sheet) where you want to use this.