VBA-oproepsub

Wat is Call Sub in VBA?

We kunnen alle subprocedures van dezelfde module in een enkele subroutine uitvoeren en het proces om ze uit te voeren in een enkele VBA-subroutine genaamd "Call Sub".

In sommige gevallen moeten we mogelijk een enorme hoeveelheid code schrijven en het schrijven ervan in een enkele macro veroorzaakt veel problemen bij het debuggen van de code. In het begin doet iedereen dit louter vanwege het gebrek aan kennis over de “Call Sub” -methode.

Het is niet de goede gewoonte om alle codes in één enkele subprocedure te bewaren, we moeten ze opsplitsen in meerdere subprocedures om de code te vereenvoudigen.

Hoe subroutine te bellen in Excel VBA?

Het uitvoeren van de Excel-macro van de ene procedure naar de andere maakt het leven gemakkelijker, puur op basis van het besparen van veel tijd tijdens het uitvoeren en het debuggen van de code in geval van een fout.

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

Code:

 Sub Code_1 () Bereik ("A1"). Waarde = "Hallo" End Sub Subcode_2 () Bereik ("A1"). Interior.Color = rgbAquamarine End Sub 

In de bovenstaande afbeelding hebben we twee subprocedures. De eerste is "Code_1" en de tweede is "Code_2".

In de eerste VBA-oproepsubcode heb ik zojuist een code geschreven om een ​​waarde in cel A1 in te voegen als "Hallo". In de tweede subprocedure heb ik de code geschreven om de inwendige kleur van cel A1 te veranderen in “rgbAquamarine”.

Nu zal ik de eerste code uitvoeren, dwz "Code_1".

Nu zal ik de tweede code uitvoeren, dwz "Code_2".

Hier heb ik de codetijden uitgevoerd.

Door gebruik te maken van de VBA “call Sub” kunnen we beide subprocedures in slechts één macro uitvoeren. We hoeven alleen het woord "Call" toe te voegen, gevolgd door een macronaam.

Kijk naar de onderstaande grafische afbeelding.

Ik heb de code alleen in de eerste subprocedure als "Oproepcode_2" genoemd. Laten we, om dit te begrijpen, de code regel voor regel uitvoeren. Druk op de F8-toets om de macronaam te markeren.

Druk nog een keer op de F8-toets om naar de volgende regel te springen.

De geel gekleurde lijn geeft aan dat de gemarkeerde code wordt uitgevoerd als we nog een keer op de F8-toets drukken. Druk nu op de F8-toets.

Zoals we kunnen zien, heeft het het woord "Hallo" ingevoegd in cel A1. Nu is de regel "Oproepcode_2" gemarkeerd.

"Oproepcode_2" heeft de taak om de interne kleur van cel A1 te veranderen en het woord "Oproepcode_2" zal deze code alleen uitvoeren vanuit de feitelijke subprocedure.

Maar druk op de F8-toets om de magie te zien.

Het is naar de genoemde naam van de subprocedure gesprongen. Druk nogmaals op de F8-toets.

Nu is de eigenlijke taakregel gemarkeerd, om dit uit te voeren, drukt u nog een keer op de F8-toets.

Op deze manier kunnen we vele subprocedures uitvoeren vanuit één subprocedure door de subprocedure bij hun naam te noemen met het woord “Oproep”.

Notitie:

  • We kunnen de macro van een andere subprocedure uitvoeren zonder het woord "Call" te gebruiken, maar gewoon door de macronaam zelf te noemen.
  • Dit is niet de beste praktijk, want als de macro-subprocedure haakjes bevat die u wilt uitvoeren, is het woord "Oproep" verplicht.
  • Gebruik naar mijn persoonlijke mening altijd het woord "Bellen" omdat het slechts een woord van 4 letters is waardoor anderen de code correct kunnen begrijpen.