Easiest way to Debug Code

C

Corey

I have a Workbook that has a great many Procedures and Userforms c/w code.

I use a Clip Art 'EXIT' sign as a way to Save/Close the workbook with simple Code.

But about 50% of the Time the Code Saves then Closes, and Crashes, giving me a 'Do you want to Send Report' Option.

The other 50% of the time there is No issues.

The code to Close when clicking the Clip Art Image is:
~~~~~~~~~~~~~
Sub Picture6_Click()
Application.DisplayAlerts = False
ActiveWorkbook.Save
If Workbooks.Count > 1 Then
ActiveWorkbook.Close
Else
Application.Quit
End If
Application.DisplayAlerts = True
End Sub
~~~~~~~~~~~~~


My question is, I think the problems IS NOT the above code, but nothing else executes on exit, so how can I Debug the workbook to fit the problem ?
 
B

Bob Bridges

First, maybe this is too obvious but when it bombs do you have more than one
workbook open? and when it works correctly do you have only one? The below
code looks to me like it checks to see whether you have only one workbook
open, and if you do to close it but otherwise to just get out of Excel
without saving anything, which surely isn't what you really wanted.

But to answer your question, everyone probably has his own favorite methods
but mine in this case would be to put a breakpoint on the below Sub
statement, then go back to your spreadsheet and click the Exit sign so you
can step through the procedure one step and a time; this'll tell you at least
which statement is leading to the abend, which surely is a good hint as to
what's going wrong.

But you probably already knew this, so either I misunderstood your question
or you're really new to VBA debugging - and if the latter is the case, the
above explanation went by 'WAY too fast. If so, say so here (or contact me
by email if you prefer) and we'll talk more about how to do those things like
"set breakpoints", "step through" your code one statement at a time and other
even neater things.
 
C

Corey

Bob,
Thanks for the reply.
The code i posted actually saves the Workbook Before it checks If more than
1 WorkBook is opened.

I set a BreakPoint at the Sub posted, and it stopped there.
I Clicked continue, and it Closed as expected.
There was another WorkBook open also.

I tried the same with No other WorkBooks opened, and got the same result.

I guess i will have to keep trying to notice WHAT is Different/Consistant
when it does crash.


Corey....
 
B

Bob Bridges

Yeah, sounds like it. I'm not familiar with DisplayAlerts; any chance that
by turrning it off you're missing some vital datum? Just a thought.
 
D

Dana DeLouis

ActiveWorkbook.Close

Is the active workbook the one with the running code?

--
Dana DeLouis

<snip>
 

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