Counting visible rows

A

atledreier

Hello.

I've searched and tried most of the day today, but so far I haven't
found a solution.

I have an autofiltered list where I need to perform operations on the
visible data only. It's some quite extensive lookup functions, and can
take a while to run. So I want to have my macro run on the visible
data only, not the entire 1000x70 table.

So far I have been able to determine the rownumber of the last piece
of data by using

Last = Cells(Rows.Count, 1).End(xlUp).Row

I can't figure out why
Last = UsedRange.Rows.SpecialCells(xlVisible, xlTextValues).Count
won't work, though.

How can I determine which row numbers to run my macro on? The data is
sorted, but not consecutive.
Maybe there is a way to determine if a row is visible before running
the code on it
Maybe there is a way to determine the first and last visible row, and
run the code on all rows in between, should be faster than running it
on all, but not very elegant.
 
P

Peter T

With ActiveSheet.UsedRange
visRows = Application.Intersect(.Columns(1),
..SpecialCells(xlCellTypeVisible)).Count
End With

But I don't think that's what you want, maybe -

For r = firstRow To lastRow
If Not Rows(r).Hidden Then
For c = leftCol To rightCol
'process Cells(r, c)
Next
End If
Next

Regards,
Peter T
 

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