VBA Call / Run Sub desde otra subrutina

Este tutorial le enseñará cómo llamar a un subprocedimiento desde dentro de otro subprocedimiento en VBA

Es muy útil escribir código que se pueda usar repetidamente y llamar desde múltiples subprocedimientos en su proyecto; puede ahorrar una enorme cantidad de tiempo y hace que el código VBA sea mucho más eficiente.

Ejecución de un subprocedimiento desde otro subprocedimiento

Considere los 3 subprocedimientos a continuación:

1234 Sub TestRoutine ()RunRoutine1RunRoutine2End Sub
123 Sub RunRoutine1 ()MsgBox "Buenos días"End Sub
123 Sub RunRoutine2 ()MsgBox "La fecha de hoy es" & Formato (Fecha, "mm / dd / aaaa")End Sub

Si ejecutamos el Sub Procedimiento - TestRoutine - llamará RunRoutine1 y RunRoutine2 y aparecerán 2 cuadros de mensaje.

No hay límite en la cantidad de Subprocedimientos a los que puede llamar desde otro Subprocedimiento.

Uso de la declaración de llamada

También puede utilizar la declaración de llamada delante del nombre del procedimiento, para que su código sea más fácil de leer. Sin embargo, no tiene ningún efecto sobre cómo se ejecuta o almacena el código.

1234 Sub TestRoutine ()Llamar a RunRoutine1Llamar a RunRoutine2End Sub

Llamar a un sub con argumentos

También es posible llamar a un sub con argumentos

1234 Sub TestRoutine ()RunRoutine1 ("Melanie")RunRoutine2 ("Que tengas un hermoso día")End Sub
123 Sub RunRoutine1 (strName como cadena)MsgBox "Buenos días" & "& strNameEnd Sub
123 Sub RunRoutine2 (strMessage como cadena)MsgBox "La fecha de hoy es" & Formato (Fecha, "mm / dd / aaaa") & VbCrLf & strMessageEnd Sub

Llamar a un sub con argumentos con nombre

Si nombra sus argumentos, no tiene que pasarlos en el mismo orden a sus subrutinas.

123 Sub TestRoutine ()RunRoutine1 strGreeting: = "¿Cómo estás?", StrName: = "Melanie"End Sub
123 Sub RunRoutine1 (strName como cadena, strGreeting como cadenaMsgBox "Buenos días" & "& strName & vbCrLf & strGreetingEnd Sub

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave