Easiest way to Debug Code

  • Thread starter Thread starter Corey
  • Start date Start date
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 ?
 
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.
 
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....
 
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.
 
ActiveWorkbook.Close

Is the active workbook the one with the running code?

--
Dana DeLouis

<snip>
 
Back
Top