Contenido
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
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:
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:
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:
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.