LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 459
Default Generic questions about variable scope the Initialize event

Very interesting. I've always considered public variable to be
unnecessary (I've never used one yet) but your posts confirm for me
that their use is not intuitive either!

That reminds me: J.E. McGimpsey (ping?) posted a while back he/she
never uses private (module level) variables, accept under duress,
which prompted me to ask: how do you maintain property values in
classes? I'd be interested in a reply.

--

"TBA" wrote in message ...
"Bob Phillips" wrote in message
...

"TBA" wrote in message
...
Someone please set me straight or confirm my understanding.

If I declare a variable as Public in any standard module, in the
Declarations section, then that variable can be accessed by any

subroutine
in any standard module, AND any userform module. Right? What about the
ThisWorkbook module or individual sheet modules?


Public variables in a standard module have global scope, so they can be
accessed from any other standard module, and any class modules, including
userforms, ThisWorkbook, and worksheet modules.


Concerning custom user forms: Loading the form into memory executes the
Initialize event (not the Activate event) of the form, correct? If so,

then
this might be a good place to indicate to whatever subroutine that might

be
interested that the form is now in memory. And unloading the form

resets
whatever was done during Initialization, right?


Initialize is invoked when a form is loaded, activate when it is shown.

But
remember. if you call form.Show before loading, the form will

automatically
load, so it illinitialize then activate. Similarly, if yo load when it is
already loaded, nothing happens. As you say, un load clears all memory
grabbed by the form, and frees any objects.


Is there a Forms collection by which I can cycle through all loaded

forms?

Not that I am aware of, but you could create your own.

--

HTH

Bob Phillips


Thanks Bob!

One small follow up question, though.

When do these variables become "legit"? For example when the Excel file is
opened are all Modules evaluated and therefore the Public variables become
immediately accessible? For example, can my first Call, say in the
ThisWorkbook Open event, call a sub in a module that has no variables
declared, and instead those variables are declared Public in seperate module
that hasn't been called or used yet?

-gk-



 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Variable scope question w/combo-box, 2ND try Tim Coddington Excel Programming 2 December 20th 03 04:07 AM
Variable scope question w/combo-box Tim Coddington Excel Programming 4 December 17th 03 02:38 AM
Scope of a public variable Jos Vens Excel Programming 0 November 24th 03 10:08 AM
Scope of Public Variable Dkline[_2_] Excel Programming 9 October 22nd 03 04:53 PM
Generic ComboBox change event steve Excel Programming 7 October 14th 03 07:30 PM


All times are GMT +1. The time now is 01:30 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"