¿Cómo usar la instrucción Private en VBA?

La instrucción Private en Visual Basic for Applications (VBA) se utiliza para declarar variables o procedimientos (Subs y Functions) que solo serán accesibles desde el módulo en el que se declaran. Esto significa que no pueden ser llamados o accedidos desde otros módulos o proyectos. Usar Private es una buena práctica para encapsular y proteger tu código, permitiendo un mayor control sobre dónde y cómo se usa tu código.

Aquí hay algunos ejemplos de cómo usar la instrucción Private:

Para Variables

VBA

Private miVariable As Integer

Sub MiSubrutina()
    miVariable = 10
    ' código que usa miVariable
End Sub

En este caso, miVariable es una variable que solo está disponible dentro de este módulo. No se puede acceder a ella desde otros módulos o procedimientos.

Para Procedimientos (Subs y Functions)

VBA

Private Sub MiSubPrivada()
    ' Código aquí
End Sub

Private Function MiFuncionPrivada() As Integer
    MiFuncionPrivada = 5
End Function

Con Private delante de Sub o Function, estos procedimientos no podrán ser llamados desde fuera del módulo en el que están definidos.

Ejemplo de cómo usar una función privada dentro de otra pública

VBA

Private Function AreaCuadrado(lado As Double) As Double
    AreaCuadrado = lado * lado
End Function

Public Sub MostrarArea()
    Dim lado As Double
    lado = 5
    MsgBox "El área del cuadrado es: " & AreaCuadrado(lado)
End Sub

En este ejemplo, AreaCuadrado es una función privada que calcula el área de un cuadrado y solo puede ser usada dentro de este módulo. MostrarArea es una subrutina pública que puede ser llamada desde cualquier parte del proyecto y utiliza la función privada para mostrar el área de un cuadrado.

Recuerda que el alcance de Private está limitado al módulo donde es definido, así que si intentas llamar o acceder a una variable o procedimiento privado desde fuera de ese módulo, recibirás un error en tiempo de compilación que indica que el elemento no es accesible debido a su nivel de protección.

Además, ten en cuenta que Private puede usarse tanto en módulos estándar como en los módulos de clase, pero su significado es ligeramente diferente en módulos de clase porque también se refiere al acceso de métodos y propiedades desde instancias de esa clase.

Conoce nuestra tienda

Ver más productos

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Ayúdanos a hacer crecer el proyecto

¡Únete a nuestro Grupo de Facebook!

Deja un comentario