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

La instrucción Call en VBA se utiliza para ejecutar un procedimiento o una función de otro módulo o archivo de VBA. Puedes usar Call para llamar a subrutinas o funciones que están definidas en otros módulos o incluso en otros libros de trabajo de Excel. Sin embargo, es importante mencionar que el uso de Call es opcional en VBA y se puede omitir.

Sintaxis

VBA
Call NombreDelProcedimiento([Argumentos])
  • NombreDelProcedimiento: es el nombre de la subrutina o función que deseas llamar.
  • Argumentos: son los argumentos que debes pasar al procedimiento (en caso de que el procedimiento tenga parámetros).

Cómo funciona

Supongamos que tienes un módulo en tu proyecto de VBA con la siguiente subrutina llamada Saludar:

VBA
Sub Saludar(Nombre As String)
    MsgBox "¡Hola, " & Nombre & "!"
End Sub

Para llamar a esta subrutina desde otro procedimiento, puedes usar Call de la siguiente manera:

VBA
Sub LlamarSaludo()
    Dim NombreUsuario As String
    NombreUsuario = "Juan"
    
    Call Saludar(NombreUsuario)
End Sub

En este ejemplo, Call Saludar(NombreUsuario) llama a la subrutina Saludar y pasa el valor de NombreUsuario como argumento.

Sin embargo, es importante destacar que en VBA, el uso de Call es opcional. Puedes llamar a un procedimiento simplemente escribiendo su nombre seguido de los paréntesis, como se muestra a continuación:

VBA
Sub LlamarSaludo()
    Dim NombreUsuario As String
    NombreUsuario = "Juan"
    
    Saludar NombreUsuario
End Sub

Ambos enfoques son válidos, y la instrucción Call se considera obsoleta en VBA, por lo que generalmente no es necesaria. La mayoría de los programadores de VBA simplemente llaman a los procedimientos sin utilizar Call, como se muestra en el segundo ejemplo.

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