Excel VBA-subroutine: Sub aanroepen in VBA met voorbeeld

Wat is een subroutine in VBA?

A Subroutine in VBA is een stukje code dat een specifieke taak uitvoert die in de code wordt beschreven, maar geen resultaat of waarde retourneert. Subroutines worden gebruikt om grote stukken code op te splitsen in kleine, hanteerbare delen. Subroutines kunnen overal in het programma meerdere keren worden opgeroepen.

Stel dat u een gebruikersinterface met tekst hebt gemaakt boxes voor het accepteren van gebruikersinvoergegevens. U kunt een subroutine maken die de inhoud van de tekst wist boxes. Een VBA Call Subroutine is in een dergelijk scenario geschikt omdat u geen resultaten wilt retourneren.

Waarom subroutines gebruiken?

  • Breek code op in kleine, beheersbare code: Een gemiddeld computerprogramma heeft duizenden en duizenden broncoderegels. Dit introduceert complexiteit. Subroutines helpen dit probleem op te lossen door het programma op te splitsen in kleine, hanteerbare stukjes code.
  • Herbruikbaarheid van code. Stel dat u een programma heeft dat toegang moet hebben tot de database, bijna alle windows in het programma zal interactie moeten hebben met de database. In plaats van hiervoor aparte code te schrijven windows, kunt u een functie maken die alle database-interacties afhandelt. U kunt het vervolgens vanuit elk gewenst venster oproepen.
  • Subroutines en functies zijn zelfdocumenterend. Stel dat u een functie 'calculLoanInterest' heeft en een andere functie 'connectToDatabase'. Door alleen maar naar de naam van de subroutine/functie te kijken, kan de programmeur zien wat het programma doet.

Regels voor het benoemen van subroutines en functies

Om subroutines en functies te gebruiken, zijn er een aantal regels die men moet volgen.

  • Een subroutine of VBA-aanroepfunctienaam mag geen spatie bevatten
  • Een Excel VBA Call Sub- of functienaam moet beginnen met een letter of een onderstrepingsteken. Het mag niet beginnen met een cijfer of een speciaal teken
  • Een subroutine- of functienaam kan geen trefwoord zijn. Een trefwoord is een woord dat een speciale betekenis heeft VBA. Woorden als Private, Sub, Function en End, enz. zijn allemaal voorbeelden van trefwoorden. De compiler gebruikt ze voor specifieke taken.

VBA-subroutinesyntaxis

U moet het tabblad Ontwikkelaars in Excel inschakelen om dit voorbeeld te kunnen volgen. Als u niet weet hoe u het tabblad Ontwikkelaars moet inschakelen, lees dan de tutorial op VBA-operators

HIER in de syntaxis,

Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String)
    'do something
End Sub

Syntaxis uitleg

Code Actie
  • “Privé Sub mijnSubRoutine(…)”
  • Hier wordt het trefwoord “Sub” gebruikt om een ​​subroutine met de naam “mySubRoutine” te declareren en de hoofdtekst van de subroutine te starten.
  • Het trefwoord Private wordt gebruikt om de reikwijdte van de subroutine te specificeren
  • “ByVal arg1 als tekenreeks, ByVal arg2 als tekenreeks”:
  • Het declares twee parameters van de tekenreeksgegevenstypenaam arg1 en arg2
  • “Einde sub”
  • “End Sub” wordt gebruikt om de hoofdtekst van de subroutine te beëindigen

De following subroutine accepteert de voor- en achternaam en geeft deze weer in een bericht box.

Nu gaan we deze subprocedure programmeren en uitvoeren. Laat dit eens zien.

Sub bellen in VBA

Hieronder vindt u een stapsgewijs proces voor het aanroepen van Sub in VBA:

  1. Ontwerp de gebruikersinterface en stel de eigenschappen in voor de gebruikersbedieningen.
  2. Voeg de subroutine toe
  3. Schrijf de klikgebeurteniscode voor de opdrachtknop die de subroutine aanroept
  4. Test de applicatie

Stap 1) User Interface

Ontwerp de gebruikersinterface zoals weergegeven in de onderstaande afbeelding.

Sub bellen in VBA

Stel het volgende inwing eigenschappen. De eigenschappen die we instellen:

S / N Controle Woning Waarde
1 CommandoKnop1 Naam btnDisplayFullName
2 Onderschrift Volledige naam subroutine


Uw interface zou er nu als volgt uit moeten zien.

Sub bellen in VBA

Stap 2) Subroutine toevoegen

  1. Druk op Alt + F11 om het codevenster te openen
  2. Voeg de volgende toewing subroutine
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)
    MsgBox firstName & " " & lastName
End Sub

HIER in de code,

Code Acties
  • “Privé-subdisplayFullName(…)”
  • Het declares een privé-subroutine displayFullName die twee stringparameters accepteert.
  • “ByVal voornaam als tekenreeks, ByVal achternaam als tekenreeks”
  • Het declares twee parametervariabelen voornaam en achternaam
  • MsgBox voornaam Achternaam"
  • Het noemt de MsgBox ingebouwde functie om een ​​bericht weer te geven box. Vervolgens worden de variabelen 'firstName' en 'lastName' doorgegeven als parameters.
  • Het ampersand “&” wordt gebruikt om de twee variabelen samen te voegen en een lege ruimte ertussen toe te voegen.

Stap 3) De subroutine oproepen

De subroutine aanroepen via de klikgebeurtenis van de opdrachtknop.

  • Klik met de rechtermuisknop op de opdrachtknop, zoals weergegeven in de onderstaande afbeelding. Selecteer Code bekijken.
  • De code-editor wordt geopend

Sub bellen in VBA

Voeg de volgende toewing code in de code-editor voor de klikgebeurtenis van de opdrachtknop btnDisplayFullName.

Private Sub btnDisplayFullName_Click()
    displayFullName "John", "Doe"
End Sub

Uw codevenster zou er nu als volgt uit moeten zien

Sub bellen in VBA

Sla de wijzigingen op en sluit het codevenster.

Stap 4) Het testen van de code

Zet op de ontwikkelaarswerkbalk de ontwerpmodus op 'uit'. Zoals hieronder weergegeven.

Sub bellen in VBA

Stap 5) Klik op de opdrachtknop 'FullName Subroutine'.

Je krijgt het vervolgwing

Sub bellen in VBA

Download de bovenstaande Excel-code

Samengevat

  • Een subroutine is een stukje code dat een specifieke taak uitvoert. Een subroutine retourneert na uitvoering geen waarde
  • Subroutines bieden herbruikbaarheid van code
  • Subroutines helpen grote stukken code op te splitsen in kleine, beheersbare code.