Tipos de Variables en VBA: Local, Private y Public 

En este capítulo aprenderemos a conocer el Ámbito de una Variable. Son tres Ámbitos – Local – Privado – Público.

Ámbito Local

Sub Mi_Macro()
Dim Nombre As String
Nombre = “Miguel Vela”
End Sub

Podemos observar que la macro se llama Mi_Macro(), dentro de esta macro tenemos declarada la variable Nombre como un String, esta Variable no podrá ser llamada desde otras macros ni desde otros módulos, a esto llamamos una Variable Local.

✅ Ámbito Privado

Private Precio As Single
Sub Mi_Macro_1()
Precio = 1.5
Dim Nombre As String
Nombre = “Miguel Vela”
End Sub
———————-
Sub Mi_Macro_2()
Dim Apellido As String
Apellido = “Vela”
MsgBox = Precio
End Sub

En el Ámbito Privado se define primero la variable con la palabra Private.
Podemos observar que la Variable Precio está declarada en la parte superior y no está dentro de ninguna Macro. Podemos ver también que en la Mi_Macro_1 asignamos el valor que es 1.5 y en la Mi_Macro_2 le imprimimos, esa es una Variable de Ámbito Privado, podemos en cualquier macro pero dentro de un Módulo.

✅ Ámbito Public

Una macro que está en un Ámbito Público puede ser declarada desde diferentes Módulo o en el mismo Módulo sin restricciones. Lo declaramos con la palabra Public. Se puede utilizar en cualquier macro, pero a diferencia del Ámbito Privado lo podemos utilizar en cualquier Módulo.

Para este ejemplo insertaremos dos Módulos, en el Módulo1 tendremos una macro que al ejecutarse llamará a la macro del Módulo2 y veremos que sí podrá ejecutarlo. En nuestro editor de VBA vamos a insertar dos Módulos Insertar > Módulo

En el Módulo2 pondremos el siguiente Código.

Módulo2

En nuestro Módulo1 en nuestro código llamaremos a Nombre que está en Modulo2. Y veremos que desde el Módulo1 sí podremos ejecutar nuestra macro con el llamado a la macro Nombre del Módulo2 ya que este se encuentra en un Ámbito Públic.

Módulo1

Al ejecutar veremos que este nos da el siguiente mensaje:

👉 También puedes ver estos artículos relacionados: 👀

¿Qué son las constantes?
Modelo de objetos en Excel
Propiedades y Métodos

Related Articles

Responses

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