Thread: Ending session
View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
NickHK NickHK is offline
external usenet poster
 
Posts: 4,391
Default Ending session

If you have error trapping in your main sub, you can an error when you know
you need to exit the whole code and the error will bubble up the the next
active error trap. e.g.
Sub Mainstart
On Error Goto handler
Call Macro1
Exit Sub
Handler:
Select Case Err.Number
Case 15000 'Or whatever err.number you use
msgBox "Need to Quit"
Case Else
'Handle other errors
End Select
End Sub

Sub macro1
'Whatever code
call macro2
'More code
End sub

Sub macro2
'Code...
'Something happens that means needs to quit
Err.raise 15000
End

NickHK

"Freddie Mac" wrote in message
...
well the sub is not the whole program. I have e.g. a main sub that calls
other subs. In these subs I sometimes call the sub that I want to use for
exiting the program. If I write exit sub I just exit the sub that is used

for
closing the program and I will return to where ever I was in the code. Is
there no way of solving the problem?

"NickHK" skrev:

Exit Sub then

NickHK

"Freddie Mac" wrote in message
...
yes I know. But I want to quit rúnning the macro. The workbook shall

still
be
open..

"NickHK" skrev:

Depending on exactly what you mean by "End session", there is:
Exit Sub/Function - Stop execution the current routine
ThisWorkbook.Close - Close the current WB
Application.Quit - Close Excel

NickHK

"Freddie Mac" wrote in

message
...
I have a macro that does alot of things. Sometimes I want to call

a
sub
that
ends the program for whatever reason. I dont know how to write

this.
My
code
is:

Private Sub avbrytProgrammet(varDataSaknas)
MsgBox ("Error 402. Program session aborted.")
Me.End
End Sub

The line is wrong. How do you write this?