VBA6 cores when hitting Reset button on the VBA IDE

T

Tom Med

VBA is just about driving me mad... it seems every week now I come
across something new that will cause it to crash. This time it is
when I hit the stop/reset button on the VBA IDE. I have no idea what
is causing it or where to start looking even. Has anyone else come
across this problem, and what might be causing it and how to fix it?

Does anyone know how you can detect why VBA crashes? I seem to have it
crashing if you try and do anything other than simple formatting of
cells. This trial and error then crash and restart style of
programming is the most mind numbing thing in the world.

Is there anyway to debug into the VBA6 dll to find out what the root
of these problems are? I am hitting about 20+ crashes a day at the
moment, and it is driving me mad

Thanks
Tom
 
T

Tom Med

Not that I know anything but have you tried reinstalling office?

I am going to get that done at the weekend, but I don't think that
will help this problem. I have done the reboot etc etc the reinstall
is just clutching at straws really
 
T

Tom Med

I have tried this, or I am using an adapted version of this that
imports and export all the code on opening and closing of a workbook.
I think it is something to do with the destruction of the objects that
I am creating in the VBA. Both the close of the workbook and the stop
method seem to cause these problems

Thanks
Tom
 
R

RB Smissaert

Does the code compile when you have Option Explicit
at the top of every module, form and class?

RBS
 
T

Tom Med

I have been trying to work this out, however after changing my classes/
module to have option explicit at the top has been problematic. As
VBA now cores when I hit the compile button as I am trying to find all
the errors.

I think this is something to with VBA mis-managing objects and trying
to reference deleted objects, but it seems nigh on impossible to
detect what the root cause of this is.

Thanks
Tom
 
R

RB Smissaert

OK, there is your problem then.
You have some poor code with lots of errors and you will have to fix them
all.

Make sure you always have Option Explicit by doing in the VBE:
Tools, Options, Editor, tick Require Variable Declaration.

RBS
 
T

Tom Med

Well I have fixed all the errors I can find, but now when I hit the
compile button excel crashes. What is causing the crash now heaven
only knows. As there are thousands of lines of code it is hard to
know where to start from.

The new code that I have introduced has been more OO based that was
used before. But as in VBA theres is no way to control the deletion
of object my hands are tied as to "fixing errors"; it is the internals
of VBA that are causing these core dumps. Most languages you would
get some idea as to where your error was. But it seems the only way I
can debug this is by removal of chunks of code at a time and narrowing
it down this way.

This trial, error and coredump method of debugging is probably the
slowest development method I have come across, is there really no more
effective way to debug VB code, or is the language really that bad?
 
R

RB Smissaert

I don't think the language is bad at all, but somebody (not sure it was you)
has made a mess and that will need cleaning up.
Maybe you could narrow it down by commenting out the Option Explicit
one by one and compiling.
Another option is to post the file somewhere and maybe someone will have
a crack at it.

RBS
 
T

Tom Med

The only problem with that is there are thousands of lines of VBA and
I am not sure my company would like me publishing it all. Due to the
nature of the problem there is no way I can locate which module /
class has the problem or produce a summary... Unless someone knows how
to get more information from a VBE core / stack trace

Tom
 
R

RB Smissaert

thousands of lines

That is nothing! I have an .xla with some 150.000 lines.
I am happy to have a look if you send the file to me.
I can assure you I won't pass it on to anybody.

RBS
 

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