Inleiding tot Excel VBA Call Sub

In VBA hebben we een functie als CALL, die wordt gebruikt voor het aanroepen van de waarden die zijn opgeslagen in een andere subprocedure of subprocedure. Stel dat we ergens in een werkboek een code hebben geschreven, terwijl we tijdens het schrijven van een andere code dezelfde eerder geschreven code nodig hebben. Dus in plaats van dezelfde code opnieuw te schrijven, kunnen we die volledige code of subprocedure oproepen in de huidige subcategorie of subprocedure. Hierdoor kan worden voorkomen dat u steeds opnieuw dezelfde activiteit in de werkmap doet.

Hoe Sub te bellen in Excel VBA?

Hieronder staan ​​de verschillende voorbeelden om Sub in Excel VBA aan te roepen:

U kunt deze VBA Call Sub Excel-sjabloon hier downloaden - VBA Call Sub Excel-sjabloon

Excel VBA Call Sub - Voorbeeld # 1

Laten we eerst een enkel voorbeeld bekijken waarin we de reeds geschreven code subcategorie of procedure CALL. Hiervoor hebben we een module nodig.

Ga naar het VBA-venster en klik onder Invoegen menu-optie op Module zoals hieronder getoond.

Daarna krijgen we een lege pagina of een venster van Module. Schrijf daar nu een subcategorie van code in die we uitvoeren of in een andere naam zoals hieronder weergegeven.

Code:

 Sub Bellen () Einde Sub 

Gebruik nu een opdracht van het berichtenvak en typ de tekst of het woord dat u wilt zien in het berichtenvak. Hier gebruiken we “ First ” zoals hieronder getoond.

Code:

 Sub Calling () MsgBox ("First") End Sub 

Compileer nu de code en voer deze uit door op de knop Afspelen te klikken die zich onder de menubalk bevindt. We zullen een berichtvenster zien met het bericht " First " zoals hieronder getoond.

Schrijf nu na het einde in dezelfde module een andere subcategorie of procedure in een willekeurige naam, zoals hieronder weergegeven.

Code:

 Sub aankomen () Einde Sub 

Gebruik hier opnieuw het commando MsgBox en geef het bericht of tekst volgens uw keuze. Hier hebben we het " Second " gegeven zoals hieronder getoond.

Code:

 Sub Arriving () MsgBox ("Second") End Sub 

Als we nu de volledige code uitvoeren, krijgen we de uitvoer van alleen de laatste Subcategorie, een berichtvak met het bericht " Tweede " zoals hieronder weergegeven.

Hier komt de functie CALL, die we zullen gebruiken om beide berichten een voor een op te roepen. Dit wordt gebruikt in de eerste subcategorie.

Roep voor dit type de eerste subcategorie vóór End op, gevolgd door de naam van die subcategorie waarvan we de code willen aanroepen. Hierna gebruiken we MsgBox Call gevolgd door Arriving, wat de naam van de subcategorie is van de onderstaande code.

Code:

 Sub Calling () MsgBox ("First") Gesprek aankomende einde Sub Sub Arriving () MsgBox ("Second") End Sub 

Compileer nu de volledige code van begin tot eind en voer deze uit. We zien het berichtenvak met het bericht "First". Klik nu op Ok om verder te gaan. Zodra we dat doen, krijgen we het tweede berichtvak met het bericht ' Tweede ' zoals hieronder weergegeven. En als u nogmaals op OK klikt, wordt de procedure afgesloten.

Wat als we de positie van de Call-functie wijzigen van voor End naar na de eerste Subcategorie zoals hieronder weergegeven? Laat nu de volledige code opnieuw uitvoeren.

Code:

 Sub Calling () Gesprek aankomen MsgBox ("First") End Sub Sub Arriving () MsgBox ("Second") End Sub 

Het verschijnt eerst het bericht dat is opgeslagen in de tweede subprocedure, wat " Tweede " is, gevolgd door het bericht " Eerste " wanneer we op Ok klikken, zoals hieronder weergegeven.

Dus het is allemaal aan ons, welke Subprocedure of categorie we eerst willen noemen.

Excel VBA Call Sub - Voorbeeld # 2

Laten we een ander voorbeeld bekijken waarin we een oproepfunctie gebruiken om een ​​andere subcategorie aan te roepen. Hiervoor hebben we een nieuwe module nodig. Open een module in het menu Invoegen. En het geeft een Subcategorie in elke naam zoals hieronder getoond.

Code:

 Sub VBACall () Einde Sub 

Definieer 3 variabelen Num1, Num2 en Ans1 in DIM en wijs deze vervolgens toe met Long . We kunnen ook Integer of Double gebruiken, afhankelijk van het gebruik. Lang zal ons toelaten om elke lengte van het aantal te overwegen.

Code:

 Sub VBACall () Dim Num1 zo lang Dim Num2 zo lang Dim Ans1 als Long End Sub 

Geef nu Num1 en Num2 een willekeurig nummer naar keuze. We hebben ze respectievelijk 100 en 50 gegeven. Als we 100 en 50 beschouwen, kunnen we de uitvoer snel identificeren.

Code:

 Sub VBACall () Dim Num1 zo lang Dim Num2 zo lang Dim Ans1 zo lang Num1 = 100 Num2 = 50 End Sub 

Gebruik nu de vermenigvuldigingsformule om het aantal winkels in Num1 en Num2 te vermenigvuldigen en hun antwoord in de variabele Ans1 op te slaan, zoals hieronder weergegeven.

Code:

 Sub VBACall () Dim Num1 zo lang Dim Num2 zo lang Dim Ans1 zo lang Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 End Sub 

In de volgende coderegel zullen we het VBA-object gebruiken. Selecteer hiervoor het blad met opdracht Werkblad en geef het een bereik van een willekeurige cel. We hebben de bereikcel geselecteerd als B1. En druk ten slotte het resultaat af met een naam zoals Resultaat of Antwoord zoals hieronder weergegeven.

Code:

 Sub VBACall () Dim Num1 zo lang Dim Num2 zo lang Dim Ans1 zo lang Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 werkbladen (1). Bereik ("B1"). Waarde = "Antwoord" Einde Sub 

Geef het nu de locatie waar we het antwoord op dezelfde manier willen zien als hierboven weergegeven. Hier kiezen we cel C1 als uitvoercel en plaatsen hier de laatste variabele Ans1 .

Code:

 Sub VBACall () Dim Num1 zo lang Dim Num2 zo lang Dim Ans1 zo lang Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Werkbladen (1). Bereik ("B1"). Waarde = "Antwoord" Werkbladen (1). Bereik ("C1"). Waarde = Ans1 Einde Sub 

Voer nu de code uit. We zullen een vermenigvuldigingsresultaat zien in cel C1.

Een andere subcategorie schrijven onder dezelfde code na End.

Code:

 Sub VBACall2 () Einde Sub 

Definieer opnieuw 3 variabelen Num3, Num4 en Ans2 in DIM en wijs deze vervolgens toe met Long.

Code:

 Sub VBACall2 () Dim Num3 zo lang Dim Num4 zo lang Dim Ans2 als Long End Sub 

Geef Num3 en Num4 dezelfde waarden als 100 en 50 en voeg beide getallen toe.

Code:

 Sub VBACall2 () Dim Num3 zo lang Dim Num4 zo lang Dim Ans2 zo lang Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 End Sub 

Gebruik nu VBA Object op dezelfde manier als hierboven gebruikt en geef vervolgens bereikcel als B2 voor antwoord en C2 voor uitvoer van Ans2 .

Code:

 Sub VBACall2 () Dim Num3 zo lang Dim Num4 zo lang Dim Ans2 zo lang Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 Werkbladen (1). Bereik ("B2"). Waarde = "Antwoord" Werkbladen (1). Bereik ("C2"). Waarde = Ans2 End Sub 

Om beide resultaten een voor een op te roepen, gebruikt u de Oproep-functie, deze geeft het de naam van de 2de Subcategorie zoals hieronder getoond.

Code:

 Sub VBACall () Dim Num1 zo lang Dim Num2 zo lang Dim Ans1 zo lang Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Werkbladen (1). Bereik ("B1"). Waarde = "Antwoord" Werkbladen (1). Bereik ("C1"). Waarde = Ans1 Bel VBACall2 End Sub Sub VBACall2 () Dim Num3 zo lang Dim Num4 zo lang Dim Ans2 zo lang Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 werkbladen (1). Bereik ("B2" ) .Value = "Antwoord" Werkbladen (1). Bereik ("C2"). Waarde = Ans2 End Sub 

Compileer nu de hele code en voer het uit. We zullen de eerste zijn in cel C2, we hebben het resultaat van de vermenigvuldiging en in cel C3, een resultaat van de toevoeging.

Om de juiste volgorde te kennen, kunnen we de opdracht MsgBox gebruiken zoals gebruikt in Voorbeeld-1 en zien welke waarden in welke volgorde worden aangeroepen.

Voordelen van Excel VBA Call Sub

  • VBA Call Sub bespaart tijd bij het steeds opnieuw schrijven van dezelfde code.
  • Het aanroepen van het subprocedurearchief VBA in dezelfde excel verkleint ook de grootte van het excel-bestand.

Dingen om te onthouden

  • Gebruik het berichtenvak voor testdoeleinden om de opeenvolgende reeks van meerdere codes te zien.
  • Compileer de grotere coderegels door op F8 te drukken zodat het foutgedeelte kan worden geïdentificeerd.
  • Sla het bestand op in Macro Schakel het Excel-formaat in om de geschreven code te behouden.
  • Als u CALL voor het einde gebruikt, wordt eerst de eerste code uitgevoerd en na de eerste Subprocedure wordt eerst de tweede code uitgevoerd.

Aanbevolen artikelen

Dit is een handleiding voor VBA Call Sub. Hier bespreken we hoe u Sub in Excel VBA kunt oproepen, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. VBA doen tot lus
  2. SUBTOTAAL Formule in Excel
  3. VBA While Loop
  4. Substring Excel-functie

Categorie: