Sub de llamada de VBA

¿Qué es Call Sub en VBA?

Podemos ejecutar todos los subprocedimientos de un mismo módulo en una sola subrutina y el proceso de ejecutarlos en una sola subrutina de VBA llamada “Call Sub”.

En algunos de los casos, es posible que necesitemos escribir una gran cantidad de código y escribirlo en una sola macro crea muchos problemas al depurar el código. Al principio, todo el mundo tiende a hacer esto simplemente por la falta de conocimiento sobre el método "Call Sub".

No es una buena práctica mantener todos los códigos en un solo subprocedimiento, necesitamos dividirlos en múltiples subprocedimientos para simplificar el código.

¿Cómo llamar a una subrutina en Excel VBA?

Ejecutar la macro de Excel de un procedimiento a otro hace la vida más fácil simplemente sobre la base de ahorrar mucho tiempo mientras se ejecuta y depurar el código en caso de cualquier error.

Puede descargar esta plantilla de Excel Sub de llamada de VBA aquí - Plantilla de Excel de Sub de llamada de VBA

Código:

 Sub Code_1 () Rango ("A1"). Valor = "Hola" End Sub Sub Code_2 () Rango ("A1"). Interior.Color = rgbAquamarine End Sub 

En la imagen de arriba, tenemos dos subprocedimientos. El primero es "Código_1" y el segundo es "Código_2".

En el primer subcódigo de llamada de VBA, acabo de escribir un código para insertar un valor en la celda A1 como "Hola". En el segundo subprocedimiento, escribí el código para cambiar el color interior de la celda A1 a “rgbAquamarine”.

Ahora ejecutaré el primer código, es decir, "Code_1".

Ahora ejecutaré el segundo código, es decir, "Code_2".

Aquí he ejecutado el código veces.

Al usar el VBA "call Sub", podemos ejecutar ambos subprocedimientos en una sola macro. Solo necesitamos agregar la palabra "Llamar" seguida de un nombre de macro.

Mire la imagen gráfica de abajo.

He mencionado el código como "Código de llamada_2" sólo en el primer subprocedimiento. Ahora para entender, ejecutemos el código línea por línea. Presione la tecla F8 resaltará el nombre de la macro.

Presione la tecla F8 una vez más y saltará a la siguiente línea.

La línea amarilla muestra que el código resaltado está a punto de ejecutarse si presionamos la tecla F8 una vez más. Presione la tecla F8 ahora.

Como podemos ver, ha insertado la palabra “Hola” en la celda A1. Ahora se ha resaltado la línea "Call Code_2".

“Call Code_2” tiene la tarea de cambiar el color interior de la celda A1 y la palabra “Call Code_2” ejecutará este código solo desde el subprocedimiento real.

Pero presione la tecla F8 para ver la magia.

Ha saltado al nombre del subprocedimiento mencionado. Presione la tecla F8 una vez más.

Ahora la línea de tarea real resaltada, para ejecutar esto presione la tecla F8 una vez más.

De esta manera, podemos ejecutar muchos subprocedimientos de un subprocedimiento llamando al subprocedimiento por su nombre con la palabra “Llamar”.

Nota:

  • Podemos ejecutar la macro de otro subprocedimiento sin usar la palabra "Llamar", pero con solo mencionar el nombre de la macro.
  • Esta no es la mejor práctica porque si el subprocedimiento de macro contiene paréntesis que desea ejecutar, la palabra "Llamar" es obligatoria.
  • En mi opinión personal, siempre use la palabra "Llamar" porque es solo una palabra de 4 letras que permite a otros entender el código correctamente.