VBA Sub

Excel VBA-subprocedure

SUB in VBA staat ook bekend als een subroutine of een procedure die alle code bevat, het is een ingebouwde instructie in VBA en bij gebruik geeft het ons automatisch de instructie van end sub en het middelste gedeelte wordt gebruikt voor codering, subinstructie kan zijn zowel publiek als privaat en de naam van de subprocedure is verplicht in VBA.

Sub betekent Subprocedure in VBA. Subprocedures worden gebruikt om een ​​specifieke set taken uit te voeren die in de vorm van code worden verstrekt. Het voert alleen de taak uit die in de code wordt vermeld volgens de VBA-taal, maar retourneert geen enkele waarde.

Hoe schrijf je VBA-subprocedures?

U kunt deze VBA-subproceduresjabloon hier downloaden - VBA-subproceduresjabloon

Om subprocedurecodes te schrijven, is het belangrijk om de structuur van de subprocedure te begrijpen. Hieronder is de structuur

Sub [Naam van de procedure] (Parameters) [Wat moet er gebeuren?]) Einde Sub

Om de subprocedure te starten, moeten we het woord “Sub” gebruiken en we moeten een naam geven aan de Sub als procedurenaam. Procedure naam is niets anders dan onze macronaam. In de VBA-subprocedure hebben we meestal geen parameters tussen haakjes.

Na het schrijven van de naam van de subprocedure, moeten we de taken schrijven die moeten worden uitgevoerd. Dan komt de End-instructie, dwz End Sub.

Voorbeeld # 1 - Eenvoudige subprocedure

Bekijk nu de eenvoudige schrijfmethoden voor subprocedures.

Stap 1: Start het woord "Sub" in de module.

Stap 2: Geef nu de macronaam of procedurenaam een ​​naam.

Stap 3: Nadat u de subprocedure een naam heeft gegeven, drukt u gewoon op de Enter-toets, het zal automatisch de eindverklaring toepassen.

Nu kunnen we hier twee dingen zien, een is het begin en een andere is het einde van de subprocedure. Voor een beter begrip kunnen we het "Kop" en "Staart" noemen.

Tussen de kop en de staart van de macro moeten we onze code schrijven om een ​​taak uit te voeren.

Voorbeeld # 2 - Eenvoudige subroutinetaak

Ok, nu zullen we zien hoe we hier een eenvoudige actie kunnen uitvoeren.

Stel dat u de waarde "Excel VBA" in cel A1 wilt invoegen.

Stap 1: Start de subprocedure door de bovenstaande methoden te gebruiken.

Code:

 Sub Action1 () End Sub 

Stap 2: Om toegang te krijgen tot cel A1 moeten we het woord RANGE gebruiken.

Code:

 Sub Action1 () Bereik (End Sub 

Stap 3: Er wordt gevraagd wat de cel1 is die u wilt verwijzen? In dit geval is het een A1-cel.

Code:

 Sub Actie1 () Bereik ("A1") End Sub 

Stap 4: We moeten de waarde "Excel VBA" invoegen, dus selecteer de eigenschap VALUE door een punt achter het bereik te plaatsen.

Code:

 Sub Action1 () Bereik ("A1") Waarde End Sub 

Wanneer u het woord VALUE begint te typen, ziet u veel opties en deze opties worden een IntelliSense-lijst genoemd die voorspelt op basis van wat u typt. Dit is vergelijkbaar met hoe formules in het werkblad verschijnen wanneer we beginnen met het typen van de formule.

Stap 5: Nadat u WAARDE hebt geselecteerd, plaatst u een gelijkteken en voert u de waarde in dubbele aanhalingstekens in als "Excel VBA".

Code:

 Sub Action1 () Bereik ("A1"). Waarde = "Excel VBA" End Sub 

Dus we zijn klaar.

Nu moeten we deze taak uitvoeren. Om de taak uit te voeren die we hadden, moeten we deze code uitvoeren door op de knop RUN in het visuele basisbewerkingsvenster te drukken.

We kunnen ook op de Excel-sneltoets drukken door de cursor in de macrocode te plaatsen.

Zodra u de code uitvoert, krijgt u de waarde "Excel VBA" in cel A1.

Soorten VBA-subroutine

We hebben nog twee typen in Sub-procedure, de ene is de openbare subprocedure en de tweede is de privé-subprocedure.

De woorden "Openbaar" en "Privé" zijn toegankelijkheidsmodificatoren die ons in staat stellen om deze subprocedures anders te gebruiken.

  • Met Public Sub Procedure kunnen we de procedure gebruiken in alle modules van de werkmap.
  • Met Private Sub Procedure kunnen we de procedure alleen in de huidige module gebruiken, nergens anders.

Kijk bijvoorbeeld naar de onderstaande afbeelding van Public Code die aanwezig is in Module 1.

Nu in Module 2 kan ik ook deze subprocedure gebruiken.

Action1 is de naam van de subprocedure die we hebben gebruikt in Module 1.

In Module 2 heb ik het genoemd als “Call Action1”. Dit betekent dat wanneer u de subprocedure uitvoert, deze de subprocedure Actie1 van Module 1 zal uitvoeren.

Private Sub-procedures zijn niet toegankelijk vanuit een andere module, we hebben ze alleen nodig vanuit dezelfde module.