View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Bob Phillips[_7_] Bob Phillips[_7_] is offline
external usenet poster
 
Posts: 1,120
Default Looping procedure calls userform; how to exit loop (via userform button)?

Set a public property called say Cancel in the userform module/ Have your
exit button set it to True, else set it to False. Also, when you exit, hide
the form, not unload.

Then

Private Sub 1
declarations
For... ' <---This is the loop that I need to exit
If...
If...
For... 'another For..next loop
If...
Userform1.show
If Userfom1.Cancel Then Exit For
end if
exit for

If Userfom1.Cancel Then Exit For
end if
end if
Exit for
'more stuff
Exit Sub

--
HTH

Bob Phillips

"KR" wrote in message
...
Hi all-
using Win2K, XL2003

I have a userform that pulls inconsistent records and allows the user

match
certain items to remove the inconsistent data. I've written it so it loops
through each item in the workbook and presents them all to the user.

Now that I'm testing it to see how it works, I realize that I need an

"exit"
button on the form that will allow the user to escape from the

loop/userform
and do other work if needed. When I click on any of my buttons that close

or
hide the userform, it returns control to the loop, and just opens the
userform back up with the next inconsistent record.

Now I've added an "exit" button, but I need to do more than just hide or
close the userform, I need to break the loop. The loop I need to break is

a
for..next loop, but it is not the "closest" for..next loop- what is the

best
way to exit that loop?

Module 1 'contains the code to pull records, ID inconsistent data, loop
through that data, and call the userform

Private Sub 1
declarations
For... ' <---This is the loop that I need to exit
If...
If...
For... 'another For..next loop
If...
Userform1.show
end if
exit for
end if
end if
Exit for
'more stuff
Exit Sub

Many thanks,
Keith
--
The enclosed questions or comments are entirely mine and don't represent

the
thoughts, views, or policy of my employer. Any errors or omissions are my
own.