Excel VBA Subrutine: Sådan kaldes Sub i VBA med eksempel

Indholdsfortegnelse:

Anonim

Hvad er en subrutine i VBA?

En underrutine i VBA er et stykke kode, der udfører en bestemt opgave beskrevet i koden, men ikke returnerer et resultat eller en værdi. Underrutiner bruges til at nedbryde store stykker kode i små håndterbare dele. Underrutiner kan hentes flere gange fra hvor som helst i programmet.

Lad os sige, at du har oprettet en brugergrænseflade med tekstfelter til accept af brugerinputdata. Du kan oprette en underrutine, der rydder indholdet af tekstfelterne. En VBA Call Subroutine er passende i et sådant scenario, fordi du ikke vil returnere nogen resultater.

I denne VBA-tutorial lærer du-

  • Hvorfor bruge subrutiner
  • Regler for navngivning af underrutiner og funktioner
  • VBA subrutinsyntaks
  • Sådan ringes der til Sub i VBA

Hvorfor bruge subrutiner

  • Opdel kode i lille håndterbar kode : Et gennemsnitligt computerprogram har tusinder og tusinder af kildekodelinjer. Dette introducerer kompleksitet. Underrutiner hjælper med at løse dette problem ved at nedbryde programmet i små håndterbare kodestykker.
  • Genanvendelighed af koder . Lad os sige, at du har et program, der skal have adgang til databasen, næsten alle vinduerne i programmet skal interagere med databasen. I stedet for at skrive separat kode til disse vinduer kan du oprette en funktion, der håndterer alle databaseinteraktioner. Du kan derefter kalde det fra det vindue, du vil have.
  • Underrutiner og funktioner er selvdokumenterende . Lad os sige, at du har en funktion til at beregneLoanInterest og en anden, der siger connectToDatabase. Ved blot at se på navnet på underrutinen / funktionen vil programmøren være i stand til at fortælle, hvad programmet gør.

Regler for navngivning af underrutiner og funktioner

For at bruge underrutiner og funktioner er der sæt regler, som man skal følge.

  • Et subrutine- eller VBA-opkaldsfunktionsnavn kan ikke indeholde mellemrum
  • Et Excel VBA Call Sub- eller funktionsnavn skal starte med et bogstav eller en understregning. Det kan ikke starte med et tal eller et specialtegn
  • En underrutine eller et funktionsnavn kan ikke være et nøgleord. Et nøgleord er et ord, der har særlig betydning i VBA. Ord som Privat, Under, Funktion og Afslut osv. Er alle eksempler på nøgleord. Compileren bruger dem til specifikke opgaver.

VBA subrutinsyntaks

Du bliver nødt til at aktivere fanen Udvikler i Excel for at følge dette eksempel. Hvis du ikke ved, hvordan du aktiverer fanen Udvikler, skal du læse vejledningen om VBA-operatører

HER i syntaksen,

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

Syntaksforklaring

Kode

Handling

  • "Privat sub mySubRoutine (...)"
  • Her bruges nøgleordet "Sub" til at erklære en subrutine ved navn "mySubRoutine" og starte kroppen til subrutinen.
  • Nøgleordet Privat bruges til at specificere omfanget af underrutinen
  • "ByVal arg1 som streng, ByVal arg2 som streng":
  • Det erklærer to parametre for streng datatypenavn arg1 og arg2
  • "Afslut sub"
  • "End Sub" bruges til at afslutte kroppen af ​​subrutinen

Den følgende underrutine accepterer for- og efternavn og viser dem i en meddelelsesboks.

Nu skal vi programmere og udføre denne underprocedure. Lad os se dette.

Sådan ringes der til Sub i VBA

Nedenfor er en trinvis proces til, hvordan man ringer til Sub i VBA:

  1. Design brugergrænsefladen, og indstil egenskaberne til brugerkontrollerne.
  2. Tilføj subrutinen
  3. Skriv klikhændelseskoden for kommandoknappen, der kalder underrutinen
  4. Test applikationen

Trin 1) Brugergrænseflade

Design brugergrænsefladen som vist på billedet nedenfor

Indstil følgende egenskaber. De egenskaber, vi indstiller

S / N Styring Ejendom Værdi
1 KommandoKnap1 Navn btnDisplayFullName
2 Billedtekst Fuldnavn Subrutine

Din grænseflade skal nu se ud som følger

Trin 2) Tilføj subrutine

  1. Tryk på Alt + F11 for at åbne kodevinduet
  2. Tilføj følgende subrutine
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)MsgBox firstName & " " & lastNameEnd Sub

HER i koden,

Kode

Handlinger

  • "Privat undervisningFuldnavn (...)"
  • Det erklærer en privat subrutine displayFullName, der accepterer to strengparametre.
  • "ByVal fornavn som streng, ByVal efternavn som streng"
  • Det erklærer to parametervariabler fornavn og efternavn
  • MsgBox fornavn & "" & efternavn "
  • Det kalder den indbyggede MsgBox-funktion for at vise en meddelelsesboks. Derefter overføres variablerne 'firstName' og 'lastName' som parametre.
  • Ampersand "&" bruges til at sammenkæde de to variabler og tilføje et tomt mellemrum mellem dem.

Trin 3) Opkald til subrutinen fra kommandoknappen klik på begivenhed.

  • Højreklik på kommandoknappen som vist på billedet nedenfor. Vælg Vis kode.
  • Kode editoren åbnes

Tilføj følgende kode i kodeeditor til klikhændelsen på kommandoknappen btnDisplayFullName.

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

Dit kodevindue skal nu se ud som følger

Gem ændringerne, og luk kodevinduet.

Trin 4) Test af koden

Sæt designtilstanden 'off' på udviklerens værktøjslinje. Som vist nedenfor.

Trin 5) Klik på kommandoknappen 'FullName Subrutine'.

Du får følgende resultater

Download ovenstående Excel-kode

Resumé:

  • En subrutine er et stykke kode, der udfører en bestemt opgave. En underrutine returnerer ikke en værdi efter udførelse
  • Underrutiner tilbyder genanvendelighed af kode
  • Underrutiner hjælper med at nedbryde store stykker kode i lille håndterbar kode.