VBA Call / Run Sub fra en anden underprogram

Denne vejledning lærer dig, hvordan du kalder en delprocedure inde fra en anden delprocedure i VBA

Det er meget nyttigt at skrive kode, der kan bruges gentagne gange og kaldes fra flere underprocedurer i dit projekt - det kan spare enorm tid og gøre VBA -koden langt mere effektiv.

Kørsel af en delprocedure fra en anden delprocedure

Overvej de 3 delprocedurer herunder:

1234 Sub TestRoutine ()RunRoutine1RunRoutine2Afslut Sub
123 Sub RunRoutine1 ()MsgBox "Godmorgen"Afslut Sub
123 Sub RunRoutine2 ()MsgBox "Dagens dato er" og format (dato, "mm/dd/åååå")Afslut Sub

Hvis vi kører delproceduren - TestRoutine - vil den kalde RunRoutine1 og RunRoutine2, og der vises 2 meddelelsesbokse.

Der er ingen grænse for antallet af delprocedurer, du kan ringe til fra en anden delprocedure.

Brug af opkaldserklæringen

Du kan også bruge opkaldsopgørelsen foran procedurnavnet for at gøre din kode lettere at læse. Det har imidlertid ingen som helst effekt på, hvordan koden køres eller gemmes.

1234 Sub TestRoutine ()Ring til RunRoutine1Ring til RunRoutine2Afslut Sub

Opkald til en sub med argumenter

Det er også muligt at kalde en sub med argumenter

1234 Sub TestRoutine ()RunRoutine1 ("Melanie")RunRoutine2 ("Hav en dejlig dag")Afslut Sub
123 Sub RunRoutine1 (strName som streng)MsgBox "Good Morning" & "& strNameAfslut Sub
123 Sub RunRoutine2 (strMessage as String)MsgBox "Dagens dato er" & Format (Dato, "mm/dd/åååå") & VbCrLf & strMessageAfslut Sub

Opkald til en sub med navngivne argumenter

Hvis du navngiver dine argumenter, behøver du ikke at videregive dem i samme rækkefølge til dine underrutiner.

123 Sub TestRoutine ()RunRoutine1 strGreeting: = "Hvordan har du det?", StrName: = "Melanie"Afslut Sub
123 Sub RunRoutine1 (strName as String, strGreeting as stringMsgBox "Good Morning" & "& strName & vbCrLf & strGreetingAfslut Sub

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave