Hi, what do I need to add to the below code to only count the visible data after filtering. I assume it is possibly .SpecialCells(xlCellTypeVisible) or similar after With Worksheet("calculations"), but I can't figure it out. Help appreciated.
Code:
Sub Count_only_visible_data()With ActiveSheet
.Range("E5").Value = CountA("Work", "WSCA1", "Processed")
.Range("E6").Value = CountA("Work", "WSCA2", "Processed")
.Range("E7").Value = CountA("Work", "SECA11", "Processed")
.Range("E8").Value = CountA("Work", "SECA12", "Processed")
.Range("E9").Value = CountA("Work", "SECA13", "Processed")
.Range("E17").Value = CountA("Work", "NWCA5", "Processed")
.Range("E18").Value = CountA("Work", "NWCA6A", "Processed")
.Range("E19").Value = CountA("Work", "NWCA6B", "Processed")
.Range("E20").Value = CountA("Work", "NWCA7", "Processed")
.Range("E21").Value = CountA("Work", "NWCA8", "Processed")
.Range("E22").Value = CountA("Work", "NWCA9", "Processed")
.Range("E23").Value = CountA("Work", "NWCA10A", "Processed")
.Range("E24").Value = CountA("Work", "NWCA10B", "Processed")
.Range("E32").Value = CountA("Work", "WSCA3", "Processed")
.Range("E33").Value = CountA("Work", "WSCA4", "Processed")
.Range("E34").Value = CountA("Work", "SECA14", "Processed")
.Range("E35").Value = CountA("Work", "SECA15", "Processed")
.Range("E36").Value = CountA("Work", "SECA16", "Processed")
End With
End Sub
Function CountA(v1 As String, v2 As String, Optional v3 As String = "") As Long
Dim rng1 As Range, rng2 As Range, rng3 As Range
With Sheets("calculations")
Set rng1 = .Range("D7:D100000")
Set rng2 = .Range("L7:L100000")
Set rng3 = .Range("M7:M100000")
If Len(v3) > 0 Then
CountA = Application.CountIfs(rng1, v1, rng2, v2, rng3, v3)
Else
CountA = Application.CountIfs(rng1, v1, rng2, v2)
End If
End With
End Function