Scope and Lifetime
Dim
is not the only way to declare a variable. The full list of declaration keywords is shown in Table 2-6.
Table 2-6. Visual Basic declaration statements
Statement |
Use to declare |
Available |
---|---|---|
|
A variable with the default scope |
Inside or outside a procedure |
|
A variable or procedure that is available from other modules or classes |
Outside a procedure only |
|
A variable or procedure that is not available from other modules or classes |
Outside a procedure only |
|
A variable that retains its value between procedure calls |
Inside a procedure only |
Which statement you use to declare a variable and where you declare it determines the scope and lifetime
of that variable. Scope is the range of places from which a name is visible. Dim
, Public
, and Private
are statements that specify scope. Lifetime is how long Visual Basic retains the value of a variable; Static
specifies lifetime.
There are three levels of scope in a Visual Basic project:
Local variables are declared with
Dim
inside a procedure and are visible only from within that procedure.Module-level variables are declared outside of a procedure with
Dim
orPrivate
and are visible only from all procedures within that module or class.Global variables are declared outside of a procedure with
Public
and are visible from all procedures in all modules and classes within the project.
Figure 2-10 illustrates the different levels of scope within a Visual Basic project.
Tip
It’s a common practice ...
Get Programming Excel with VBA and .NET now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.