Kill variables

H

Hari

Hi,

Im using If then else condition in a series of macros, where macros may call
one another.

I have created some boolean variables (defined as Public type) whose values
will determine (used in If condition) whether the macros specified will run
or not.

Presently once I have run the macro and exited out of it and if I go to the
worksheet and make some changes and then run the macro again, the macro
doesnt get executed because my if condition evaluates as false (Basically
anytime I make a change in the worksheet my If should evaluate to true
only - Im using worksheet_change event.). I found out that it happens
because of the boolean variables being defined as public they sort of retain
the value from the last running of the macro.(Is that possible?)

I want to know if I can kill the variable values (from the last run) so that
next time I make changes in the worksheet and run the macro my If condition
is not bypassed.

Regards,
Hari
India
 
T

Tom Ogilvy

Just set them to false as the last thing your macro does or as the first
thing it does (which might be better).

bfirst = False
bdum = False

Yes, variables declared as public at the top of a general module will retain
their values until the workbook is closed or you do a reset in the VBE.
 
H

Hari

Hi Tom,

Thnx a lot for ur input. Im able to accomplish what i wanted.

A query, why is it that you are suggesting on setting the false value in the
starting of the macro to be better.

Would be grateful to learn the same.

Regards,
Hari
India
 
T

Tom Ogilvy

Sounds like you want them initialized each time you start the procedure, so
to be sure, do it there. It is really up to you which is best - what gets
the job done?
 
H

Hari

Hi Tom,

Both ways I seem to get the job done. (Hope I havent missed something !!)

I thought may be that when u said re-initialize in the starting was meant as
one of the programming nuggets.

Anyway thanx a lot.

Regards,
Hari
India
 

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