VBA Call / Run Sub From another Subroutine

Denne opplæringen vil lære deg hvordan du kaller en delprosedyre fra en annen delprosedyre i VBA

Det er veldig nyttig å skrive kode som kan brukes gjentatte ganger, og kalt fra flere delprosedyrer i prosjektet ditt - det kan spare enormt mye tid og gjøre VBA -koden langt mer effektiv.

Kjører en delprosedyre fra en annen delprosedyre

Vurder de 3 delprosedyrene nedenfor:

1234 Sub TestRoutine ()RunRoutine1RunRoutine2Slutt Sub
123 Sub RunRoutine1 ()MsgBox "God morgen"Slutt Sub
123 Sub RunRoutine2 ()MsgBox "Dagens dato er" og format (dato, "mm/dd/åååå")Slutt Sub

Hvis vi kjører delprosedyren - TestRoutine - vil den ringe RunRoutine1 og RunRoutine2 og 2 meldingsbokser vil vises.

Det er ingen grense for antall delprosedyrer du kan ringe fra en annen delprosedyre.

Bruk av samtaleerklæringen

Du kan også bruke anropserklæringen foran prosedyrenavnet, for å gjøre koden lettere å lese. Det har imidlertid ingen som helst effekt på hvordan koden kjøres eller lagres.

1234 Sub TestRoutine ()Ring RunRoutine 1Ring RunRoutine2Slutt Sub

Ringer en sub med argumenter

Det er også mulig å ringe en sub med argumenter

1234 Sub TestRoutine ()RunRoutine1 ("Melanie")RunRoutine2 ("Ha en nydelig dag")Slutt Sub
123 Sub RunRoutine1 (strName as String)MsgBox "Good Morning" & "& strNameSlutt Sub
123 Sub RunRoutine2 (strMessage as String)MsgBox "Dagens dato er" & Format (Dato, "mm/dd/åååå") & VbCrLf & strMessageSlutt Sub

Ringer en undermann med navngitte argumenter

Hvis du navngir argumentene dine, trenger du ikke å sende dem i samme rekkefølge til underrutinene dine.

123 Sub TestRoutine ()RunRoutine1 strGreeting: = "Hvordan går det?", StrName: = "Melanie"Slutt Sub
123 Sub RunRoutine1 (strName as String, strGreeting as stringMsgBox "Good Morning" & "& strName & vbCrLf & strGreetingSlutt Sub

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave