Alcance variable en Excel VBA

Buenos días, soy Miguel y esta vez os traigo un nuevo artículo.

O alcance de una variable dentro Excel VBA determina dónde se puede utilizar esa variable. Determina el alcance de una variable al declararla. Hay tres niveles de alcance: nivel de procedimiento, nivel de módulo, e 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:

Rango de nivel de procedimiento en Excel VBA

2. Resultado al hacer clic en el botón de comando de la hoja (llamar a los dos subs):

Nivel de procedimiento Alcance Resultado

Nivel de procedimiento Alcance Resultado

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 en un módulo, está diciendo que desea que la variable tenga 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 de la hoja:

Resultado del rango de nivel de módulo

Resultado del rango de 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 las variables declaradas por defecto con la instrucción Dim en la sección Declaraciones generales se definen como privadas. También puede cubrir una variable como pública. Sigue leyendo.

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

Alcance del 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 al código del botón de comando. Al hacer 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).

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Esta página utiliza Cookies. Más info