"next and "previous"button problem in vba

P

Pierre

Hi experts,

I have a problem after using autofilter.
After useing autofilter i use the following code for going to the next or
previous records

next record code:
Private Sub but_next_Click()
Do
Set filterrange = filterrange.Offset(1, 0)
Loop While filterrange.EntireRow.Hidden = True
Call textboxen_vullen 'code to fill a lot of textboxes
End Sub

previous record code:
Private Sub but_next_Click()
Do
Set filterrange = filterrange.Offset(-1, 0)
Loop While filterrange.EntireRow.Hidden = True
Call textboxen_vullen 'code to fill a lot of textboxes
End Sub

The problem is that there is no limit.
If i click previous enough times, i get an error message.
I would like it to stop at the first record of the filtered set

Also if i click the "next"button i want it to stop at the last record of the
filtered list

Can you please help me with this ?
Thanks,
Pierre
 
D

dbKemp

Hi experts,

I have a problem after using autofilter.
After useing autofilter i use the following code for going to the next or
previous records

next record code:
Private Sub but_next_Click()
Do
Set filterrange = filterrange.Offset(1, 0)
Loop While filterrange.EntireRow.Hidden = True
Call textboxen_vullen 'code to fill a lot of textboxes
End Sub

previous record code:
Private Sub but_next_Click()
Do
Set filterrange = filterrange.Offset(-1, 0)
Loop While filterrange.EntireRow.Hidden = True
Call textboxen_vullen 'code to fill a lot of textboxes
End Sub

The problem is that there is no limit.
If i click previous enough times, i get an error message.
I would like it to stop at the first record of the filtered set

Also if i click the "next"button i want it to stop at the last record of the
filtered list

Can you please help me with this ?
Thanks,
Pierre

It looks like filterrange is defined outside of the listed
subroutines. If you know the first and last row of filterrange prior
to coming into the subroutines you could compare the row number of the
'next' row to see that it is between the first and last row.
 

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