Deze tutorial leert je hoe je een subprocedure aanroept vanuit een andere subprocedure in VBA
Het is erg handig om code te schrijven die herhaaldelijk kan worden gebruikt en kan worden aangeroepen vanuit meerdere subprocedures in uw project - het kan enorm veel tijd besparen en de VBA-code veel efficiënter maken.
Een subprocedure uitvoeren vanuit een andere subprocedure
Overweeg de 3 subprocedures hieronder:
1234 | Subtestroutine()RunRoutine1RunRoutine2Einde sub |
123 | Sub RunRoutine1()MsgBox "Goedemorgen"Einde sub |
123 | Sub RunRoutine2()MsgBox "De datum van vandaag is " & Formaat (Datum, "mm/dd/jjjj")Einde sub |
Als we de subprocedure - TestRoutine - uitvoeren, roept deze RunRoutine1 en RunRoutine2 aan en verschijnen er 2 berichtvensters.

Er is geen limiet aan het aantal Subprocedures dat u kunt aanroepen vanuit een andere Subprocedure.
De oproepverklaring gebruiken
U kunt ook de oproepverklaring voor de procedurenaam gebruiken, om uw code leesbaarder te maken. Het heeft echter geen enkele invloed op hoe de code wordt uitgevoerd of opgeslagen.
1234 | Subtestroutine()Bel RunRoutine1Bel RunRoutine2Einde sub |

Een sub bellen met argumenten
Het is ook mogelijk om een sub aan te roepen met argumenten
1234 | Subtestroutine()RunRoutine1 ("Melanie")RunRoutine2 ("Een fijne dag verder")Einde sub |
123 | Sub RunRoutine1(strName als String)MsgBox "Goedemorgen" & " & strNameEinde sub |
123 | Sub RunRoutine2(strMessage as String )MsgBox "De datum van vandaag is " & Formaat (Datum, "mm/dd/jjjj") & VbCrLf & strMessageEinde sub |

Een sub bellen met benoemde argumenten
Als u uw argumenten een naam geeft, hoeft u ze niet in dezelfde volgorde door te geven aan uw subroutines.
123 | Subtestroutine()RunRoutine1 strGreeting:="Hoe gaat het?", strName:="Melanie"Einde sub |
123 | Sub RunRoutine1(strName als String, strGreeting als string)MsgBox "Goedemorgen" & " & strName & vbCrLf & strGroetEinde sub |
