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 hebt gemaakt met tekstvakken voor het accepteren van invoergegevens van de gebruiker. U kunt een subroutine maken die de inhoud van de tekstvakken wist. Een VBA Call Subroutine is in zo'n 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 beheersbare stukken code.
- Herbruikbaarheid van code. Stel dat u een programma hebt dat toegang nodig heeft tot de database, dan moeten bijna alle vensters in het programma met de database communiceren. In plaats van aparte code te schrijven voor deze vensters, kunt u een functie maken die alle database-interacties afhandelt. U kunt deze functie vervolgens vanuit elk gewenst venster aanroepen.
- 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 Operaverdraaid
HIER in de syntaxis,
Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String) 'do something End Sub
Syntaxis uitleg
Code | Actie |
---|---|
|
|
|
|
|
|
De volgende subroutine accepteert de voor- en achternaam en geeft deze weer in een berichtvenster.
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:
- Ontwerp de gebruikersinterface en stel de eigenschappen in voor de gebruikersbedieningen.
- Voeg de subroutine toe
- Schrijf de klikgebeurteniscode voor de opdrachtknop die de subroutine aanroept
- Test de applicatie
Stap 1) User Interface
Ontwerp de gebruikersinterface zoals weergegeven in de onderstaande afbeelding.
Stel de volgende eigenschappen in. De eigenschappen die we instellen:
S / N | Controle | Appartementen | Waarde |
---|---|---|---|
1 | CommandoKnop1 | Naam | btnDisplayFullName |
2 | Onderschrift | Volledige naam subroutine |
Uw interface zou er nu als volgt uit moeten zien.
Stap 2) Subroutine toevoegen
- Druk op Alt + F11 om het codevenster te openen
- Voeg de volgende subroutine toe
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String) MsgBox firstName & " " & lastName End Sub
HIER in de code,
Code | Acties |
---|---|
|
|
|
|
|
|
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
Voeg de volgende code toe aan 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
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.
Stap 5) Klik op de opdrachtknop 'FullName Subroutine'.
U krijgt de volgende resultaten
Samenvatting
- 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.