Excel VBA Subrutine: Hvordan ringe Sub i VBA med eksempel

Innholdsfortegnelse:

Anonim

Hva er en subrutine i VBA?

En subrutine i VBA er et stykke kode som utfører en spesifikk oppgave som er beskrevet i koden, men som ikke returnerer et resultat eller en verdi. Underrutiner brukes til å bryte ned store koder i små håndterbare deler. Underrutiner kan hentes ut flere ganger fra hvor som helst i programmet.

La oss si at du har opprettet et brukergrensesnitt med tekstbokser for å godta brukerinndata. Du kan lage en underrutine som tømmer innholdet i tekstboksene. En VBA Call Subroutine er passende i et slikt scenario fordi du ikke vil returnere noen resultater.

I denne VBA-opplæringen vil du lære-

  • Hvorfor bruke underrutiner
  • Regler for navngivning av underrutiner og funksjoner
  • VBA Subroutine Syntax
  • Hvordan ringe Sub i VBA

Hvorfor bruke underrutiner

  • Bryt koden i liten håndterbar kode : Et gjennomsnittlig dataprogram har tusenvis og tusenvis av kildekodelinjer. Dette introduserer kompleksitet. Underrutiner hjelper til med å løse dette problemet ved å bryte ned programmet i små håndterbare biter av kode.
  • Gjenbrukbarhet av koden . La oss si at du har et program som trenger tilgang til databasen, nesten alle vinduene i programmet må samhandle med databasen. I stedet for å skrive egen kode for disse vinduene, kan du opprette en funksjon som håndterer alle databaseinteraksjoner. Du kan da ringe det fra hvilket vindu du vil.
  • Underrutiner og funksjoner er selvdokumenterende . La oss si at du har en funksjon beregneLoanInterest og en annen som sier connectToDatabase. Ved å bare se på navnet på underrutinen / funksjonen, vil programmereren kunne fortelle hva programmet gjør.

Regler for navngivning av underrutiner og funksjoner

For å bruke underrutiner og funksjoner er det sett med regler som man må følge.

  • En subrutine eller et VBA-anropsfunksjonnavn kan ikke inneholde mellomrom
  • Et Excel VBA Call Sub- eller funksjonsnavn skal starte med en bokstav eller en understreking. Det kan ikke starte med et tall eller et spesialtegn
  • En subrutine eller funksjonsnavn kan ikke være et nøkkelord. Et nøkkelord er et ord som har spesiell betydning i VBA. Ord som Privat, Under, Funksjon og Slutt osv. Er alle eksempler på nøkkelord. Kompilatoren bruker dem til bestemte oppgaver.

VBA Subroutine Syntax

Du må aktivere utviklerfanen i Excel for å følge dette eksemplet. Hvis du ikke vet hvordan du aktiverer kategorien Utvikler, kan du lese veiledningen om VBA-operatører

HER i syntaksen,

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

Syntaksforklaring

Kode

Handling

  • "Private Sub mySubRoutine (...)"
  • Her brukes nøkkelordet "Sub" for å erklære en subrutine som heter "mySubRoutine" og starte kroppen til subrutinen.
  • Nøkkelordet Privat brukes til å spesifisere omfanget av underrutinen
  • "ByVal arg1 som streng, ByVal arg2 som streng":
  • Den erklærer to parametere for streng datatypenavn arg1 og arg2
  • "End Sub"
  • "End Sub" brukes til å avslutte kroppen til subrutinen

Følgende underrutine godtar for- og etternavn og viser dem i en meldingsboks.

Nå skal vi programmere og utføre denne underprosedyren. La dette se.

Hvordan ringe Sub i VBA

Nedenfor er en trinnvis prosess for hvordan du ringer til Sub i VBA:

  1. Design brukergrensesnittet og angi egenskapene for brukerkontrollene.
  2. Legg til underrutinen
  3. Skriv klikkhendelseskoden for kommandoknappen som kaller underrutinen
  4. Test applikasjonen

Trinn 1) Brukergrensesnitt

Design brukergrensesnittet som vist på bildet nedenfor

Angi følgende egenskaper. Egenskapene vi setter inn

S / N Kontroll Eiendom Verdi
1 KommandoKnapp1 Navn btnDisplayFullName
2 Bildetekst Fullnavn Subrutine

Grensesnittet ditt skal nå se ut som følger

Trinn 2) Tilsett subrutine

  1. Trykk på Alt + F11 for å åpne kodevinduet
  2. Legg til følgende subrutine
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)MsgBox firstName & " " & lastNameEnd Sub

HER i koden,

Kode

Handlinger

  • "Privat undervisningFullnavn (…)"
  • Det erklærer en privat underrutine displayFullName som godtar to strengparametere.
  • "ByVal fornavn som streng, ByVal etternavn som streng"
  • Den erklærer to parametervariabler fornavn og etternavn
  • MsgBox fornavn & "" & etternavn "
  • Det kaller den innebygde MsgBox-funksjonen for å vise en meldingsboks. Deretter overføres variablene 'fornavn' og 'etternavn' som parametere.
  • Ampersand "&" brukes til å sammenkoble de to variablene og legge til et tomt mellomrom mellom dem.

Trinn 3) Å ringe til underrutinen fra kommandoknappens klikkhendelse.

  • Høyreklikk på kommandoknappen som vist på bildet nedenfor. Velg Vis kode.
  • Kodeditoren åpnes

Legg til følgende kode i kodeditoren for klikkhendelsen til kommandoknappen btnDisplayFullName.

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

Kodevinduet ditt skal nå se ut som følger

Lagre endringene og lukk kodevinduet.

Trinn 4) Testing av koden

På utviklerens verktøylinje, sett designmodusen "av". Som vist under.

Trinn 5) Klikk på kommandoknappen 'FullName Subroutine'.

Du får følgende resultater

Last ned Excel-koden ovenfor

Sammendrag:

  • En underrutine er et stykke kode som utfører en bestemt oppgave. En underrutine returnerer ikke en verdi etter utførelse
  • Underrutiner tilbyr gjenbrukbar kode
  • Underrutiner hjelper til med å bryte ned store biter av kode i liten håndterbar kode.