¿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:

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):

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:

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

Deja un comentario