Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Kill variables
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 |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Kill variables
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. -- Regards, Tom Ogilvy "Hari" wrote in message ... 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 |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Kill variables
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 "Tom Ogilvy" wrote in message ... 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. -- Regards, Tom Ogilvy "Hari" wrote in message ... 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 |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Kill variables
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? -- Regards, Tom Ogilvy "Hari" wrote in message ... 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 "Tom Ogilvy" wrote in message ... 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. -- Regards, Tom Ogilvy "Hari" wrote in message ... 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 |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Kill variables
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 "Tom Ogilvy" wrote in message ... 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? -- Regards, Tom Ogilvy "Hari" wrote in message ... 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 "Tom Ogilvy" wrote in message ... 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. -- Regards, Tom Ogilvy "Hari" wrote in message ... 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 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Kill Macro | Excel Discussion (Misc queries) | |||
File kill help | Excel Programming | |||
Kill Command | Excel Programming | |||
kill worksheets | Excel Programming | |||
AutoFill KILL | Excel Programming |