The handler is not a separate routine, it is label within mainprogram,
followed by a colon ":". So
Sub MainProgram
On Error Goto Handler
'....Code
Exit Sub 'So you do not execute the Handler normally
Handler: '<<<<< Here
Select case.... etc

End Sub

"Freddie Mac" <FreddieMac@discussions.microsoft.com> wrote in message
news:26BDA2AB-D450-4ED6-8E93-CF6885CF4179@microsoft.com...
> Thanks that seems like a nice way to handle the problem. However when

trying
> use your code I get "Unidentified etikett" (translation from swedish). My
> code looks like:
>
> Public Sub mainProgram()
> Dim x As String
> On Error GoTo handler
> Call worksheetMaker(x)
> .......
> Private Sub worksheetMaker(x As String)
> If .......
> Err.Raise 15000
> .......
>
> and I dont know how to write the handler but I tried:
>
> Private sub handler()
> Select Case Err.Number
> Case 15000
> MsgBox "Need to Quit"
> Case Else
> 'Handle other errors
> End Select
> End Sub
>
> I am not very good at VB so please help me with this! I am most greatful

for
> any assistance!
>
> "NickHK" skrev:
>
> > 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" <FreddieMac@discussions.microsoft.com> wrote in message
> > news:5A316069-596D-46CA-9595-0FBA9F05D70F@microsoft.com...
> > > 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" <FreddieMac@discussions.microsoft.com> wrote in

message
> > > > news:839E2979-62B2-4D8E-8DD3-3D58878E88FB@microsoft.com...
> > > > > 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" <FreddieMac@discussions.microsoft.com> wrote in

> > message
> > > > > > news:9740CAD1-8713-4999-9268-E46CE5CC3C86@microsoft.com...
> > > > > > > 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?
> > > > > >
> > > > > >
> > > > > >
> > > >
> > > >
> > > >

> >
> >
> >