View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson Dave Peterson is offline
external usenet poster
 
Posts: 35,218
Default How can I move the cell pointer down one row in a macro comman

One way is to just check after you move.

do
activecell.offset(1,0).select
if activecell.entirerow.hidden = false then
exit do
end if
loop

=====
It's not usually necessary to select a cell to work with it. If I wanted to
loop through each of the cells/rows in a filtered range, I could do something
like:

Option Explicit
Sub testme()

Dim myCell As Range
Dim myRngV As Range

With Worksheets("sheet1")
Set myRngV = Nothing
On Error Resume Next
With .AutoFilter.Range.Columns(1)
Set myRngV = .Resize(.Rows.Count - 1, 1).Offset(1, 0) _
.Cells.SpecialCells(xlCellTypeVisible)
End With
On Error GoTo 0

If myRngV Is Nothing Then
MsgBox "no visible cells in autofilter range"
End If
End With

For Each myCell In myRngV.Cells
'do anything I want to the cell/row.
MsgBox myCell.Address(0, 0)
Next myCell

End Sub

GM wrote:

What about a sheet that has filtered rows?
With the keyboard I just hit "Down".

this code works if all the rows are displayed.
activecell.offset(1,0).select

What can I do to move across rows in a filtered sheet?
I need to move only across the displayed rows.

Thanks.
GM.

"Dave Peterson" wrote:

Or just
activecell.offset(1,0).select



Chuckles123 wrote:

ActiveCell.Offset(1, 0).Range("A1").Select

--
Chuckles123
------------------------------------------------------------------------
Chuckles123's Profile: http://www.excelforum.com/member.php...o&userid=14948
View this thread: http://www.excelforum.com/showthread...hreadid=570975


--

Dave Peterson


--

Dave Peterson