Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
Imagen7 150x150, Ámbito de las Variables

Ámbito de las Variables

| 5 comentarios

El ámbito de una variable consiste en el alcance que esta variable adquiere cuando se declara. En VBA existen tres tipos de alcance: Procedimiento, Modulo, Proyecto.

Ámbito a nivel de procedimiento:

Una variable definida a nivel de procedimiento es reconocida únicamente en el procedimiento en el que es declarada. Es decir, la variable solo es útil mientras el procedimiento se ejecuta. Para una nueva ejecución del procedimiento, las variables son reinicializadas.

Para declarar una variable local se usa la instrucción Dim.

Imagen12 300x155, Ámbito de las Variables

(Para una mayor visualización de la imagen, hacer click en la misma)

El resultado del ejercicio es:

Imagen2, Ámbito de las Variables

Ámbito a nivel de módulo:

El ámbito a nivel modulo otorga un mayor alcance a la variable pudiendo esta ser declara solo para el módulo y permitiéndole a la variable ser reconocida en todos los procedimientos incluidos en este módulo.

Para declarar una variable de nivel modulo se pueden usar las instrucciones Dim y Private. La declaración no debe ser realizada dentro de algún procedimiento.

Imagen3 300x163, Ámbito de las Variables

(Para una mayor visualización de la imagen, hacer click en la misma)

Resultado del ejercicio:

Imagen4, Ámbito de las Variables

Ámbito a nivel de proyecto:

Definiendo una variable a nivel proyecto permitimos el uso de esta a través de todos los módulos dentro del proyecto e incluso otros proyectos.

Para declarar una variable de nivel proyecto se usa la instrucción Public.

Imagen51 300x92, Ámbito de las Variables

Imagen6 300x91, Ámbito de las Variables

(Para una mayor visualización de la imagen, hacer click en la misma)

El resultado del ejercicio:

Imagen7, Ámbito de las Variables

Elaborado por: Elizabeth Rivas Cardenas

5 comentarios

Deja una respuesta

Los campos requeridos estan marcados con *.