Thanks for identifying the SUBTOTAL(2 or 102, Range) function. This works fine for counting if the range has numbers - how can I get it to work if the range has text? i.e count the number of visible rows in a text only data base?
In that case, I'm not sure there is one, but would be quite happy to be proved wrong...
You could try using this custom function :
Function CountMyRange(UsrRng As Range)
Dim cell As Range
CountMyRange = 0
For Each cell In UsrRng
If Not cell.EntireRow.Hidden = True Then
CountMyRange = CountMyRange + 1
Paste the code into an ordinary blank module, and then use this formula to count your filtered rows :