VBA Call / Run Sub From another Subroutine

Denna handledning kommer att lära dig hur du ringer till en delprocedur från en annan delprocedur i VBA

Det är mycket användbart att skriva kod som kan användas upprepade gånger och kallas från flera delprocedurer i ditt projekt - det kan spara enormt mycket tid och göra VBA -koden mycket effektivare.

Kör ett delprocedur från ett annat delprocedur

Tänk på de tre delprocedurerna nedan:

1234 Sub TestRoutine ()RunRoutine1RunRoutine2Avsluta Sub
123 Sub RunRoutine1 ()MsgBox "God morgon"Avsluta Sub
123 Sub RunRoutine2 ()MsgBox "Dagens datum är" & Format (Datum, "mm/dd/åååå")Avsluta Sub

Om vi ​​kör delproceduren - TestRoutine - kommer den att ringa RunRoutine1 och RunRoutine2 och 2 meddelandefält visas.

Det finns ingen gräns för antalet delprocedurer som du kan ringa från ett annat delprocedur.

Använda samtalet

Du kan också använda samtalsanvisningen framför procedurnamnet för att göra din kod lättare att läsa. Det har dock ingen som helst effekt på hur koden körs eller lagras.

1234 Sub TestRoutine ()Ring RunRoutine1Ring RunRoutine2Avsluta Sub

Ringa en sub med argument

Det är också möjligt att ringa en sub med argument

1234 Sub TestRoutine ()RunRoutine1 ("Melanie")RunRoutine2 ("Ha en härlig dag")Avsluta Sub
123 Sub RunRoutine1 (strName as String)MsgBox "God morgon" & "& strNameAvsluta Sub
123 Sub RunRoutine2 (strMessage as String)MsgBox "Dagens datum är" & Format (Datum, "mm/dd/åååå") & VbCrLf & strMessageAvsluta Sub

Ringa en sub med namngivna argument

Om du nämner dina argument behöver du inte skicka dem i samma ordning till dina underrutiner.

123 Sub TestRoutine ()RunRoutine1 strGreeting: = "Hur mår du?", StrName: = "Melanie"Avsluta Sub
123 Sub RunRoutine1 (strName as String, strGreeting as stringMsgBox "God morgon" & "& strName & vbCrLf & strGreetingAvsluta Sub

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave