El alcance de una variable en Excel VBA determina dónde se puede usar esa variable. Usted determina el alcance de una variable cuando la declara. Hay tres niveles de alcance: nivel de procedimiento , nivel de módulo y nivel de módulo público .

Coloque un botón de comando en su hoja de trabajo y agregue las siguientes líneas de código:

Ejemplo de alcance variable

1. Coloque los dos procedimientos (un procedimiento es un sub o una función) en un módulo. En el Editor de Visual Basic, haga clic en Insertar, Módulo. Agregue las siguientes líneas de código:

Alcance del nivel de procedimiento en Excel VBA

2. Resultado cuando hace clic en el botón de comando en la hoja (llame a los dos subs):

Resultado del alcance del nivel de procedimiento
Resultado del alcance del nivel de procedimiento

Explicación: la variable txt tiene nivel de procedimiento de alcance porque está declarada en el procedimiento (entre Sub y End Sub). Como resultado, solo puede usar esta variable en sub1. La variable txt no se puede utilizar en sub2.

3. Cuando desea que una variable esté disponible para todos los procedimientos de un módulo, está diciendo que desea que la variable tenga un alcance a nivel de módulo. Debe declarar la variable en la sección Declaraciones generales (en la parte superior del módulo). Ajuste ligeramente el código de la siguiente manera:

Alcance del nivel del módulo en Excel VBA

4. Resultado al hacer clic en el botón de comando en la hoja:

Resultado del alcance del nivel de módulo
Resultado del alcance del nivel de módulo

Explicación: la variable txt ahora se puede usar en sub2. El nivel de módulo se usa indistintamente con el nivel de módulo privado. Esto se debe a que, de forma predeterminada, las variables declaradas con la instrucción Dim en la sección Declaraciones generales tienen un ámbito privado. También puede definir el alcance de una variable como pública. Sigue leyendo.

5. Al utilizar la palabra clave Public, su variable estará disponible para todos los procedimientos en todos los módulos de un libro de trabajo. Esto se denomina ámbito de nivel de módulo público. Ajuste ligeramente el código de la siguiente manera:

Alcance de nivel de módulo público en Excel VBA

Explicación: ahora puede crear un nuevo módulo y colocar un sub llamado sub3 en este módulo. Utilice el mismo código que sub2. Agregue sub3 a su código de botón de comando. Cuando haga clic en el botón de comando en la hoja de trabajo, obtendrá tres cuadros de mensaje que dicen "La variable solo se puede usar en este procedimiento" (consulte el archivo Excel descargable).

3/4 Completado! Obtenga más información sobre las variables>
Siguiente capítulo: Declaración If Then