Forum Discussion
NSrebro
Aug 30, 2022Copper Contributor
vba Function for COUNT Condition Color Cells
Hello community! I have a spreadsheet that is require manual input (about about 50-100 new rows per day). The spreadsheet has about 30 columns and each column has different conditional formatted ...
- Aug 30, 2022
1) Copy the following code into a standard module.
Sub CountColors() Dim r As Long Dim m As Long Application.ScreenUpdating = False m = Range("E:AJ").Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row For r = 4 To m Cells(r, 37).Value = CountRed(r) Next r Application.ScreenUpdating = True End Sub Function CountRed(r As Long) As Long Dim c As Long For c = 5 To 36 ' E to AJ If Cells(r, c).DisplayFormat.Interior.Color = vbRed Then CountRed = CountRed + 1 End If Next c End Function2) Run the Countcolors macro once to populate column AK. It can easily be expanded if you want to count green and grey in other columns.
3) Right-click the sheet tab.
Select 'View Code' from the context menu.
Copy the following code into the worksheet module.
Private Sub Worksheet_Change(ByVal Target As Range) Dim rng As Range Dim r As Long If Not Intersect(Range("E4:AJ" & Rows.Count), Target) Is Nothing Then Application.ScreenUpdating = False Application.EnableEvents = False For Each rng In Intersect(Range("E4:AJ" & Rows.Count), Target).Rows r = rng.Row Cells(r, 37).Value = CountRed(r) Next rng Application.EnableEvents = True Application.ScreenUpdating = True End If End SubThis will update the count automatically when you edit cells in columns E to AJ.
Zoolander
Nov 13, 2022Copper Contributor
So now through testing.
Can’t seem to get the automation portion to work. The first one runs great but I can’t seem to get an automatic calculation from the second portion.
Pasted everything on the worksheet portion but nothing changes when new red cells are highlighted. Only works when module code is ran
Can’t seem to get the automation portion to work. The first one runs great but I can’t seem to get an automatic calculation from the second portion.
Pasted everything on the worksheet portion but nothing changes when new red cells are highlighted. Only works when module code is ran
HansVogelaar
Nov 14, 2022MVP
The counts should be updated automatically when you change the value of one or more cells in E2:XFD99.
- HansVogelaarNov 14, 2022MVP
Just changing a color won't work - it doesn't trigger an event in Excel.
- ZoolanderNov 14, 2022Copper ContributorDo I have to indicate it as E2:J99?
I only indicate as shown above (“2:99”) and it works when I run it.
Just doesn’t seem to automate when I make red changes.