"on error resume next" NOT working...

G

Guest

Hi...
I have a macro which at some point deletes a particular worksheet. In case
the worksheet does NOT exist, I have placed an "on error..." command to allow
the macro to keep running... My problem: the code used to work... and now it
doesn't! I get a "subscript out of range" error. Why isn't the "on error"
routine working here? Any suggestions on fixing this? Here's my code:

'if the "Final Report" sheet exists, delete it.
On Error Resume Next
Application.DisplayAlerts = False
Worksheets("Final Report").Delete
Application.DisplayAlerts = True
'more code here...

In another macro, if a given worksheet does NOT exist, my on error routine
is supposed to direct the execution to finish up, etc.... Here, as well, I
get the "subscript out of range" error... Again, the on error is NOT working
to get me past the error...

Any ideas are greatly appreciated!
 
T

Tom Ogilvy

What options do you have in the VBE under Tools=>Options. Do you have break
on unhandled errors selected?
 
G

Guest

Thanks Tom... the option was set to "break on all errors". After setting
this to "Break on unhandled errors", the macro which looks for a sheet to
delete works fine now.

HOWEVER... the 2nd macro that attempts to activate a given worksheet for
processing still breaks if the given worksheet does not exist. Here's some
code:

On Error GoTo AllSheetsDone
Sheets("Day 1").Select
Call MARKfirstAVG
Call getAVERAGE
Call getSTDEV

On Error GoTo AllSheetsDone
Sheets("Day 2").Select
Call MARKfirstAVG
Call getAVERAGE
Call getSTDEV

On Error GoTo AllSheetsDone
Sheets("Day 3").Select
Call MARKfirstAVG
Call getAVERAGE
Call getSTDEV

If, for example the file only has Day 1 and Day 2 sheets, the "on error"
routine is supposed to go to the AllSheetsDone label. Even with the option
"Break on unhandled errors" set now, it's still breaking when the code
doesn't find Day 3. What am I missing here?

Thanks for all your help!
 

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