Ambito de las Variables

 

Las variables y constantes tienen un tiempo de vida y una visibilidad dentro de los macros y módulos donde se encuentran. La vida de una variable comienza desde el momento de su declaración, y finaliza cuando el macro donde ha sido declarada la variable finaliza su ejecución (Ambito Local o a nivel de procedimiento). (Urtis, 2011)

Las variables son declaradas utilizando el comando Dim, la posición de este comando dentro de la hoja del módulo determina el ámbito de visibilidad de la variable (Korol, 2003).

Las variables pueden tener tres niveles de visibilidad y disponibilidad en los procedimientos de VBA para Aplicaciones.

· A nivel de Procedimiento

· A nivel de Módulo

· A nivel de Proyecto

Ambito Local, Solo a Nivel de Procedimiento

La visibilidad de una variable o constante depende de la forma en que es declarada. Si una variable es declarada dentro de un procedimiento, esta solo puede ser usada por ese procedimiento.

Las variables declaradas a nivel de procedimiento también son conocidas como variables locales.

Las variables deben ser únicas dentro de su ámbito, es decir no debe haber dos variables con el mismo nombre. Sin embargo se pueden crear las mismas variables en procedimientos diferentes y cada variable se comporta independientemente dentro de cada procedimiento.

El tiempo de vida de una variable local finaliza cuando se termina de ejecutar el procedimiento donde se declaró la variable. Esto permite ahorrar memoria de computadora.

clip_image001

En el macro creado se han declarado tres variables, var1, var2 y total. Estas variables solo podrán ser utilizadas dentro de este macro.

clip_image002

En el procedimiento Local1() se está intentando utilizar los valores de las variables var1 y var2 creados dentro del procedimiento tyu(), sin embargo los valores de las variables no están disponibles fuera del ámbito de tyu().

Ambito a Nivel de Modulo

Es posible que una variable pueda ser visible y utilizada en más de un procedimiento dentro de un módulo. Para hacer esto las variables deben ser declaradas en la parte superior del módulo, antes de cualquier procedimiento.

Para declarar las variables a nivel de modulo se puede utilizar el comando Dim o el comando Private, en lugar de Dim.

Por ejemplo:

Private VariableName As Single

clip_image004

En este módulo (Modulo2) se han creado las variables fuera de los procedimientos y tanto los valores de las variables var1 y var2 como el de la variable calculada total1 están disponibles cuando son utilizadas en el procedimiento ModuleVar2().

Como los valores son asignados a las variables var1, var2 y total1 en el procedimiento ModuleVar1(), primero debe ejecutarse este procedimiento antes de ejecutar el procedimiento ModuleVar2().

Ambito a nivel de Proyecto, Global

Se pueden declarar variables para que estén disponibles en todos los procedimientos y en todos los módulos de los proyectos abiertos. Para hacerlo hay que declarar las variables en la parte superior de un módulo con el comando Public en lugar de Dim.

Ejemplo:

Public VariableName As Single

Bibliografía

Korol, J. (2003). Learn Microsoft Excel 2002 VBA Programming with XML and ASP. Plano, Texas, USA: Wordware Publishing, Inc.

Urtis, T. (2011). Excel VBA, 24-Hour Trainer. Indiana, USA: Wiley Publishing, Inc.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s