¿Cómo usar la declaración Call en VBA?

En VBA (Visual Basic for Applications), la declaración `Call` se utiliza para invocar procedimientos (subrutinas o funciones). Aunque el uso de `Call` es opcional en muchos casos, especialmente cuando se llama a una subrutina, puede hacer el código más legible al clarificar que se está realizando una llamada a un procedimiento.

Aquí te muestro cómo usar la declaración `Call`:

Llamando a una Subrutina

Supongamos que tienes una subrutina llamada `Saludar`, que no toma ningún argumento:

Sub Saludar()
    MsgBox "¡Hola, mundo!"
End Sub

Puedes llamar a esta subrutina de las siguientes maneras:

Sin `Call`:

Saludar

Con `Call`:

Call Saludar

Llamando a una Subrutina con Argumentos

Si la subrutina acepta argumentos, la sintaxis cambia un poco cuando usas `Call`.

Por ejemplo:

Sub SaludarUsuario(nombre As String)
    MsgBox "¡Hola, " & nombre & "!"
End Sub

Sin `Call`:

SaludarUsuario "Juan"

Con `Call`:

Call SaludarUsuario("Juan")

Nota que cuando utilizas `Call`, los argumentos deben estar entre paréntesis.

Llamando a una Función

Si estás llamando a una función y solo necesitas ejecutar el código que contiene, sin usar el valor que retorna, puedes usar `Call` de manera similar.

Por ejemplo:

Function ObtenerNumero() As Integer
    ObtenerNumero = 42
End Function

Sin `Call`:

ObtenerNumero

Con `Call`:

Call ObtenerNumero

Notas Adicionales

Dim numero As Integer
numero = ObtenerNumero
  • El uso de `Call` es más una cuestión de estilo y claridad en el código. Muchos programadores prefieren no usarlo cuando no es necesario.
  • Si vas a utilizar el valor de retorno de una función, no debes usar `Call`. Simplemente asigna el resultado a una variable o úsalo directamente, por ejemplo:

Espero que esto aclare cómo usar la declaración `Call` en VBA. Si tienes más dudas, no dudes en preguntar.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project