Counting cells of a specific color

B

Blue Max

Can anyone recommend a good formula for counting the cells of a common color
in a range?

We have a color-coded visual schedule, but need to count the cells of a
common color to determine if we have allocated enough resources to a
particular task. Please note that the assigned colors are related to a
certain task (in a legend) and are often custom colors not chosen directly
from the standard palette.
 
G

Gord Dibben

For counting only...................

Select the range of cells then Edit>Find>Format>Choose from cell>Select a
cell from the custom colors legend>OK

In "Found" dialog hit CTRL + a.

Right-click on Status Bar and "Count"


Gord Dibben MS Excel MVP
 
B

Blue Max

Thank you, Gord, this is an excellent way to get a quick manual count.
However, how do you incorporate this into a cell cell formula in Excel 2007
so that you can maintain a continual dynamic count in a cell on the
worksheet?

Thanks,
Richard
 
B

Blue Max

Thank you, Pete. This was a great recommendation that included additional
color functions that we might find useful down the road. Thank you for
sharing this information with us.

Sincerely,
Richard

************************
There are no in-built functions to do this.

However, Chip Pearson shows how it can be done with a bit of VBA here:

http://www.cpearson.com/excel/colors.aspx

Hope this helps.

Pete
 
G

Gord Dibben

You have to use VBA

Function CountByColor(InRange As Range, _
WhatColorIndex As Integer, _
Optional OfText As Boolean = False) As Long

Dim rng As Range
Application.Volatile True

For Each rng In InRange.Cells
If OfText = True Then
CountByColor = CountByColor - _
(rng.Font.ColorIndex = WhatColorIndex)
Else
CountByColor = CountByColor - _
(rng.Interior.ColorIndex = WhatColorIndex)
End If
Next rng

End Function

Copy/paste the UDF to a general module in your workbook.

Usage is.................=COUNTBYCOLOR(range,3,FALSE)

3 is red

To see a list of colors and index numbers run this macro

Sub ListColorIndexes()
Dim Ndx As Long
Sheets.Add
For Ndx = 1 To 56
Cells(Ndx, 1).Interior.ColorIndex = Ndx
Cells(Ndx, 2).Value = Ndx
Next Ndx
End Sub


Gord
 
B

Blue Max

Thank you, Gord. You may also be interested in the link provided by Pete_UK
in this same thread. If provides some great insight into the color
functions.

Thanks,
Richard

******************
 
G

Gord Dibben

Thanks


Gord

Thank you, Gord. You may also be interested in the link provided by Pete_UK
in this same thread. If provides some great insight into the color
functions.

Thanks,
Richard

******************
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top