Wat is een subroutine in VBA?
Een 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 beheersbare delen. Subroutines kunnen meerdere keren vanuit elke plek in het programma worden opgeroepen.
Stel dat u een gebruikersinterface heeft gemaakt met tekstvakken voor het accepteren van gebruikersinvoergegevens. U kunt een subroutine maken die de inhoud van de tekstvakken wist. Een VBA-oproepsubroutine is geschikt in een dergelijk scenario omdat u geen resultaten wilt retourneren.
In deze VBA-tutorial leer je-
- Waarom subroutines gebruiken
- Regels voor het benoemen van subroutines en functies
- Syntaxis van VBA-subroutine
- Hoe Sub in VBA te bellen
Waarom subroutines gebruiken
- Breek code 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 stukjes code.
- Herbruikbaarheid van code . Stel dat u een programma heeft dat toegang moet hebben tot de database, bijna alle vensters in het programma zullen moeten communiceren met de database. In plaats van aparte code voor deze vensters te schrijven, kunt u een functie maken die alle database-interacties afhandelt. U kunt het vervolgens oproepen vanuit elk raam dat u maar wilt.
- Subroutines en functies zijn zelfdocumenterend . Laten we zeggen dat je een functie berekenLoanInterest hebt en een andere die connectToDatabase zegt. 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.
- De naam van een subroutine of VBA-aanroepfunctie 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 mag geen trefwoord zijn. Een trefwoord is een woord dat een speciale betekenis heeft in VBA. Woorden als Private, Sub, Function en End, etc. zijn allemaal voorbeelden van trefwoorden. De compiler gebruikt ze voor specifieke taken.
Syntaxis van VBA-subroutine
U moet het tabblad Ontwikkelaar in Excel inschakelen om dit voorbeeld te volgen. Als u niet weet hoe u het tabblad Ontwikkelaar moet inschakelen, lees dan de tutorial over VBA-operators
HIER in de syntaxis,
Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String)'do somethingEnd 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. Laten we eens kijken.
Hoe Sub in VBA te bellen
Hieronder vindt u een stapsgewijs proces voor het aanroepen van Sub in VBA:
- Ontwerp de gebruikersinterface en stel de eigenschappen voor de gebruikersbediening in.
- Voeg de subroutine toe
- Schrijf de code voor klikgebeurtenis voor de opdrachtknop die de subroutine oproept
- Test de applicatie
Stap 1) Gebruikersinterface
Ontwerp de gebruikersinterface zoals weergegeven in de onderstaande afbeelding
Stel de volgende eigenschappen in. De eigenschappen die we plaatsen
S / N | Controle | Eigendom | Waarde |
---|---|---|---|
1 | CommandButton1 | Naam | btnDisplayFullName |
2 | Onderschrift | Volledige naam Subroutine |
Uw interface zou er nu als volgt uit moeten zien
Stap 2) Voeg een subroutine toe
- 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 & " " & lastNameEnd Sub
HIER in de code,
Code |
Acties |
---|---|
|
|
|
|
|
|
Stap 3) Het oproepen van de subroutine vanaf de opdrachtknop klikgebeurtenis.
- Klik met de rechtermuisknop op de opdrachtknop zoals weergegeven in de onderstaande afbeelding. Selecteer Bekijk code.
- De code-editor wordt geopend
Voeg de volgende code toe 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
Sla de wijzigingen op en sluit het codevenster.
Stap 4) Testen van de code
Zet op de ontwikkelaarsbalk de ontwerpmodus 'uit'. Zoals hieronder getoond.
Stap 5) Klik op de opdrachtknop 'FullName Subroutine'.
U krijgt de volgende resultaten
Download de bovenstaande Excel-code
Overzicht:
- Een subroutine is een stukje code dat een specifieke taak uitvoert. Een subroutine retourneert geen waarde na uitvoering
- Subroutines bieden herbruikbaarheid van code
- Subroutines helpen bij het opsplitsen van grote stukken code in kleine beheersbare code.