ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Question re Workbook level declarations (https://www.excelbanter.com/excel-programming/355761-question-re-workbook-level-declarations.html)

VanS[_2_]

Question re Workbook level declarations
 
Hello,
Trying to meet deadline but couldn't find anything in MS documentation re
making variable declarations at the Workbook level under ThisWorkbook. If I
make such a variable declaration there with Option Explicit and Public, will
it be available to all Worksheets and modules code? I created a boolean such
var and one worksheet code module recognized it but another cried "Variable
Not Defined".
I was trying to avoid putting it into a code module if possible.
Thanks, God bless
Van

GS

Question re Workbook level declarations
 
Hi VanS,

Worksheet and ThisWorkbook module are private, thus the message regarding
the variable in the other code module.

To make a variable global, place it in a standard module, outside any
procedures. This is usually done in a MGlobals module (if you use one), at
the top in the Declarations section. Declaring it Public makes it accessible
to all components of your project while the project is open.

HTH
Regards,
GS

"VanS" wrote:

Hello,
Trying to meet deadline but couldn't find anything in MS documentation re
making variable declarations at the Workbook level under ThisWorkbook. If I
make such a variable declaration there with Option Explicit and Public, will
it be available to all Worksheets and modules code? I created a boolean such
var and one worksheet code module recognized it but another cried "Variable
Not Defined".
I was trying to avoid putting it into a code module if possible.
Thanks, God bless
Van


tony h[_84_]

Question re Workbook level declarations
 

you should be ok to create a public variable in any module. If you have
to use them place them straight after the option explicit eg:

Option Explicit

Public blnVar As Boolean

Don't place them inside a subroutine.

Personally I avoid them like the plague. They make debuging a piece of
code fraught with difficulties. If I do I create a code module called
Globals so that they are clearly obvious to everyone. But my preferred
method is to create a class module to hold global values as properties.


regards


--
tony h
------------------------------------------------------------------------
tony h's Profile: http://www.excelforum.com/member.php...o&userid=21074
View this thread: http://www.excelforum.com/showthread...hreadid=521408



All times are GMT +1. The time now is 10:59 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com