VBA Call Sub

Vad är Call Sub i VBA?

Vi kan utföra alla delprocedurer för samma modul i en enda subrutin och processen för att utföra dem i en enda VBA-subrutin som kallas "Call Sub".

I vissa fall kan vi behöva skriva en enorm mängd kod till och att skriva dem i ett enda makro skapar många problem när vi felsöker koden. I början tenderar alla att göra detta enbart på grund av bristande kunskap om "Call Sub" -metoden.

Det är inte bra praxis att hålla alla koder i ett enda underförfarande, vi måste dela upp dem i flera underförfaranden för att förenkla koden.

Hur man ringer till subrutin i Excel VBA?

Att köra excel-makrot från en procedur till en annan gör livet enklare för enbart på grund av att du sparar mycket tid medan du kör också ett tag felsöker koden i händelse av fel.

Du kan ladda ner denna VBA Call Sub Excel-mall här - VBA Call Sub Excel-mall

Koda:

 Sub Code_1 () Range ("A1"). Value = "Hello" End Sub Sub Code_2 () Range ("A1"). Interior.Color = rgbAquamarine End Sub 

I bilden ovan har vi två delprocedurer. Den första är "Code_1" och den andra är "Code_2".

I den första underkoden för VBA-samtal har jag precis skrivit en kod för att infoga ett värde i cellen A1 som “Hej”. I den andra delproceduren har jag skrivit koden för att ändra den inre färgen på cellen A1 till “rgbAquamarine”.

Nu kommer jag att köra den första koden, dvs. ”Code_1”.

Nu kommer jag att köra den andra koden, dvs. ”Code_2”.

Här har jag kört kodtiderna.

Genom att använda VBA “call Sub” kan vi endast utföra underproceduren i ett enda makro. Vi behöver bara lägga till ordet ”Ring” följt av ett makronamn.

Titta på den grafiska bilden nedan.

Jag har nämnt koden som ”Call Code_2” endast i den första underproceduren. Nu för att förstå ska vi köra koden rad för rad. Tryck på F8-tangenten så markeras makronamnet.

Tryck på F8-tangenten en gång till för att hoppa till nästa rad.

Den gulfärgade linjen visar att den markerade koden håller på att köras om vi trycker på F8-tangenten en gång till. Tryck på F8-tangenten nu.

Som vi kan se har det infogat ordet “Hej” i cellen A1. Nu har raden "Call Code_2" markerats.

"Call Code_2" har till uppgift att ändra den inre färgen på cellen A1 och ordet "Call Code_2" kommer att exekvera denna kod endast från den aktuella underproceduren.

Men tryck på F8-tangenten för att se magin.

Det har hoppat till det nämnda delprocedurnamnet. Tryck en gång till på F8-tangenten.

Nu är den faktiska uppgiftsraden markerad, för att utföra detta, tryck på F8-tangenten en gång till.

Så här kan vi utföra många delprocedurer från en underprocedur genom att kalla underproceduren med deras namn med ordet "Ring".

Notera:

  • Vi kan utföra makrot för en annan delprocedur utan att använda ordet ”Ring” utan bara genom att nämna själva makronamnet.
  • Detta är inte den bästa praxis, för om makroundproceduren innehåller parentes som du vill utföra är "Call" -ordet obligatoriskt.
  • Enligt min personliga åsikt använder du alltid ordet ”Ring” eftersom det bara är ett ord på 4 bokstäver som gör det möjligt för andra att förstå koden korrekt.