View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Bob Phillips[_6_] Bob Phillips[_6_] is offline
external usenet poster
 
Posts: 11,272
Default use of module level variables

Jason,

A module level variable is available to all procedures and functions in that
module. Changing it in any of the procedures or functions in that module
will be recognized by any of the other procedures or functions in that
module.

--

HTH

RP
(remove nothere from the email address if mailing direct)


"TxRaistlin" wrote in message
...
I am looking for a bit of clarification on the proper use of module level
variables.

Lets say a variable named myfirstrange is defined as a range at the
beginning of a module before any subroutines.

Now let's say that the first subroutine is called (from a different

module)
and stores the following to this variable:

myfirstrange=worksheets("sheet1").range("a:a")

Next, a second subroutine is called (within the same module as the
variables, but again from a different calling module), is the value of
myfirstrange able to be used in the second subroutine as it was defined in
the first?

i.e. in the second subroutine, the only use of myfirstrange is as follows:

findrow=application.worksheetfunction.match("looku p value",myfirstrange,0)

Will the second subroutine recognize the actual value of the variable.
Additionally, is there any reason not to do it this way, i.e. it reduces
performance of the code, etc. And finally, is it ok to call the two
subroutines from a separate module?

The reason I am asking this question is that I would like to avoid having

to
"send" a variable to a second subroutine by defining it at the module

level,
as I would be sending about 100 variables, and this gets confusing at

times.

Would appreciate any insight.

Thanks,

Jason Falls