Tabla de contenido
En este artículo, te mostraré cómo puedes llamar a un Sub de otro Sub o Función en VBA en Excel Aprenderás a llamar a un Sub con o sin argumentos, así como Público y Privado Suplentes .
Cómo llamar a un Sub en VBA en Excel (Vista rápida)
Nota: Aquí a Sub llamado Sub2 llama a Sub llamado Sub1 .
Descargar el cuaderno de prácticas
Llamada VBA Sub.xlsm
Descárgate este cuaderno de prácticas para ejercitar la tarea mientras lees este artículo.
4 Maneras de Llamar a un Sub en VBA en Excel
Aquí tenemos un Sub en VBA llamado Sub1 .
Si ejecuta Sub1 recibirás el mensaje "Sub1 se ejecuta".
Hoy nuestro objetivo es aprender cómo podemos llamar a este Sub de otro Sub o Función de todas las formas posibles.
1. Llamar a un Sub sin argumentos de otro Sub en VBA en Excel
En primer lugar, llamaremos a Sub sin ningún argumento de otro Sub en VBA .
Toma, Sub1 es el Sub sin argumentos.
Ahora llamaremos al Sub Sub1 de otro Sub llamado Sub2 .
Para llamar al Sub Sub1 de otro Sub , tienes que utilizar la línea de código:
Sub1
O
Llamar a Sub1
Ahora bien ejecutar Sub2 , Sub1 y el mensaje "Sub1 se ejecuta". aparecerá en la pantalla.
2. Llamar a un Sub con Argumentos de Otro Sub en VBA en Excel
Ahora llamaremos a Sub con argumentos de otro Sub en VBA .
Aquí hemos cambiado el Sub Sub1 de forma que contenga un argumento llamado Valor_entrada y cuando se ejecuta, muestra ese argumento.
Para llamar a esto Sub de otro Sub ( Sub2 ), tenemos que utilizar la línea de código:
Sub1(Valor_entrada)
O
Llamada Sub1(Valor_entrada)
Aquí, hemos utilizado:
Llamar a Sub1(10)
Ahora, cuando Sub2 , Sub1 se llamará con la entrada 10 y 10 se mostrará en un Buzón de mensajes .
Lecturas similares:
- Cómo Devolver un Valor en Función VBA (Valores de Matriz y No Matriz)
- Uso LCase Función en VBA en Excel (Con 4 Ejemplos)
- Cómo utilizar la función SPLIT de VBA en Excel (5 ejemplos)
- Uso TRIM Función en VBA en Excel (Definición + Código VBA)
3. Llamar a un Sub con/sin Argumentos desde una Función Definida por el Usuario en VBA en Excel
También puede llamar a Sub de un Función definida por el usuario en VBA .
⧭ Sub sin argumentos
Llamemos a Sub sin argumentos primero.
Aquí hemos vuelto a cambiar el Sub Sub1 a la sin argumentos.
Ahora crearemos un Función llamado Función1 y llame a Sub1 de esa función.
Para llamar a un Sub de una función, la línea de código a utilizar es la misma:
Sub1
O
Llamar a Sub1
Ahora, si insertas Función1 en cualquier celda de la hoja de cálculo, Sub1 y se llamará a Buzón de mensajes mostrará "Sub1 se ejecuta". .
⧭ Sub con argumentos
También puede llamar a Sub con argumentos de un Función definida por el usuario en VBA en Excel .
Aquí hemos cambiado Sub1 al que tiene argumentos de nuevo.
Ahora hemos llamado Sub1 de Función1 por la línea de código:
Llamar a Sub1(10)
Ahora bien, si insertamos Función1 en cualquier celda de nuestra hoja de cálculo, se mostrará 10 en un Buzón de mensajes .
4. Llamar a un Sub Privado desde Otro Sub o Función en VBA en Excel
Hasta ahora, hemos llamado a Sub pública de otro Sub o Función Esta vez, mostraremos cómo se puede llamar a un Sub privado de otro Sub o Función en VBA .
⧭ Llamando desde un Sub:
Sólo se puede llamar a un Sub privado de otro Sub si ambos están en el mismo módulo de su VBA ventana.
Aquí hemos cambiado Sub1 a un Sub privado añadiendo el término Privado en la primera línea. Y lo llamó desde Sub2 que se encuentra en el mismo módulo.
Ahora bien, si ejecuta Sub2 obtendrá un Buzón de mensajes mostrando 10 .
⧭ Llamada desde una función:
Para llamar a una función Sub privado de un Función en VBA El Sub y el Función deben estar en el mismo módulo.
Aquí hemos insertado el Sub privado Sub1 y el Función Función1 en el mismo módulo.
Ahora bien, si insertamos Función1 en cualquier celda de nuestra hoja de cálculo, un Buzón de mensajes mostrará 10 .
Resumen
He aquí el resumen de todos los puntos debatidos hoy:
- Puede llamar a un Sub de otro Sub o Función definida por el usuario en VBA utilizando el término "Llamar" con el nombre del Sub o simplemente poniendo el nombre del Sub .
- Si el Sub a llamar contiene un argumento tiene que llamar al Sub con cualquier valor de ese argumento .
- Si el Sub a llamar se declara como Privado uno, hay que llamarlo desde otro Sub o Función del mismo módulo.
Conclusión
Con estos métodos, puede llamar a un Sub de otro Sub o Función en VBA en Excel. ¿Tiene alguna duda? No dude en preguntarnos.