Variables públicas de VBA - Cómo declarar variables públicas en VBA (ejemplos)

Tabla de contenido

Variables públicas en VBA

Las “Variables públicas” en VBA, como su nombre indica, son variables que se declaran para usarse públicamente para todas las macros que escribimos en el mismo módulo, así como también en diferentes módulos. Por lo tanto, cuando las variables se declaran al comienzo de cualquier macro se denominan "Variables públicas" o "Variables globales".

¿Cómo declarar variables públicas en VBA?

Por lo general, iniciamos el subprocedimiento de VBA y, dentro del subprocedimiento, declaramos nuestras variables. Esta es la práctica común que todos hemos hecho hasta este artículo.

Cada vez que escribimos un nuevo subprocedimiento, declaramos nuevas variables con tipos de datos asignados. Pero hoy, diremos adiós a las variables repetitivas en los subprocedimientos.

Recordemos el estilo antiguo. A continuación se muestra el código que he escrito con una sola variable.

En el subprocedimiento “Public_Variable”, he declarado esta variable. Ahora no puedo usar ninguno de los otros módulos.

Ahora, en el subprocedimiento "Public_Variable1", no podemos usar la variable "Var1", que se declaró en el primer subprocedimiento "Public_Variable". Ésta es la limitación de declarar variables dentro de los subprocedimientos.

# 1 - Variables de nivel de módulo

Como todos sabemos, escribimos macros en módulos. Podemos insertar varios módulos. Podemos declarar dos tipos de “Variables públicas” en VBA, una es usar las variables para todos los subprocedimientos en el mismo módulo y la segunda es usar las variables para todos los subprocedimientos en todos los módulos.

Primero, veremos declarar variables públicas en VBA a nivel de módulo.

Para usar las variables para todos los subprocedimientos en el mismo módulo, necesitamos declarar las variables en la parte superior del módulo antes de iniciar cualquier macros.

A continuación se muestra la captura de pantalla de ejemplo para su comprensión.

Como podemos ver en la imagen de arriba, he declarado dos variables antes de iniciar cualquier macro en el módulo. Ahora, estas dos variables se pueden usar en cualquier número de macros en este módulo.

Dentro del subprocedimiento, comience a escribir el nombre de la variable; puede ver que la lista de IntelliSense mostrará los nombres de las variables.

Ahora podemos usar estas variables en todas las macros que escribimos en “Módulo1”.

Estas variables están limitadas para su uso en este módulo únicamente. Por ejemplo, ahora insertaré un módulo más y escribiré una nueva macro.

En Module2, no puedo usar esas variables que hemos declarado en “Module1”.

Entonces, ¿cómo podemos hacer públicas estas variables en VBA para usar en todos los módulos y en todos los subprocedimientos?

# 2 - Declarar variables úsalas públicamente

Vuelva a “Módulo1” en este módulo. Hemos declarado variables antes de empezar a escribir la forma de la macro y también qué mundo hemos utilizado para declarar esas variables.

Nuestra forma tradicional de usar la palabra “DIM” es que hemos declarado estas variables.

Cuando usamos solo la palabra "DIM", solo se puede usar en todas las macros, pero en el mismo módulo.

En lugar de la palabra "DIM", necesitamos utilizar la palabra "PÚBLICO" o "GLOBAL" para que estén disponibles para su uso en todos los módulos de macros.

He utilizado la palabra "Global" para hacer pública la declaración de variable. También puede utilizar la palabra "Público".

Entonces, al usar las palabras "Global" y "Public", podemos declarar variables que se pueden usar para todas las macros en los módulos.

Cosas para recordar

  • Es una buena práctica declarar las variables públicamente, pero necesita mucha experiencia antes de declararlas.
  • Una vez que las macros comienzan a ejecutarse, el valor de la variable de la macro será el mismo.
  • Asigne el valor particular a la variable dentro de la macro específica solo para evitar cualquier tipo de confusión.

Articulos interesantes...