Excel VBA Subroutine: Hvordan ringe Sub i VBA med Eksempel
Hva er en subrutine i VBA?
A Subrutine i VBA er et stykke kode som utfører en spesifikk oppgave beskrevet i koden, men som ikke returnerer et resultat eller en verdi. Subrutiner brukes til å bryte ned store deler av kode i små håndterbare deler. Subrutiner kan hentes frem flere ganger fra hvor som helst i programmet.
La oss si at du har laget et brukergrensesnitt med tekstbokser for å godta brukerinndata. Du kan lage en subrutine som sletter innholdet i tekstboksene. En VBA Call Subrutine er passende i et slikt scenario fordi du ikke ønsker å returnere noen resultater.
Hvorfor bruke subrutiner
- Bryt kode i små håndterbare kode: Et gjennomsnittlig dataprogram har tusenvis og tusenvis av kildekodelinjer. Dette introduserer kompleksitet. Subrutiner hjelper til med å løse dette problemet ved å dele opp programmet i små håndterbare kodebiter.
- Gjenbruk av kode. 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 separat kode for disse vinduene, kan du lage en funksjon som håndterer alle databaseinteraksjoner. Du kan da ringe det fra hvilket vindu du vil.
- Subrutiner og funksjoner er selvdokumenterende. La oss si at du har en funksjon calculateLoanInterest og en annen som sier connectToDatabase. Ved bare å se på navnet på subrutinen/funksjonen, vil programmereren kunne fortelle hva programmet gjør.
Regler for navngivning av subrutiner og funksjoner
For å bruke subrutiner og funksjoner er det sett med regler som man må følge.
- Navnet på en subrutine eller VBA-anropsfunksjon kan ikke inneholde mellomrom
- Et Excel VBA Call Sub- eller funksjonsnavn bør starte med en bokstav eller et understrek. 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, Sub, Funksjon og Slutt osv. er alle eksempler på nøkkelord. Kompilatoren bruker dem til spesifikke oppgaver.
VBA-subrutinesyntaks
Du må aktivere Utvikler-fanen i Excel for å følge dette eksemplet. Hvis du ikke vet hvordan du aktiverer Utvikler-fanen, kan du lese veiledningen på VBA Operatorer
HER i syntaksen,
Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String) 'do something End Sub
Syntaks forklaring
Kode | Handling |
---|---|
|
|
|
|
|
|
Følgende subrutine godtar for- og etternavnet og viser dem i en meldingsboks.
Nå skal vi programmere og utføre denne underprosedyren. La se dette.
Hvordan ringe Sub i VBA
Nedenfor er en trinnvis prosess for hvordan du ringer sub i VBA:
- Design brukergrensesnittet og angi egenskapene for brukerkontrollene.
- Legg til subrutinen
- Skriv klikkhendelseskoden for kommandoknappen som kaller opp subrutinen
- Test applikasjonen
Trinn 1) Brukergrensesnitt
Design brukergrensesnittet som vist på bildet nedenfor.
Angi følgende egenskaper. Egenskapene vi angir:
S / N | Kontroll: | Eiendom | Verdi |
---|---|---|---|
1 | Kommandoknapp1 | Navn | btnDisplayFullName |
2 | Bildetekst | Fullnavn Subrutine |
Grensesnittet ditt skal nå se ut som følger.
Trinn 2) Legg til subrutine
- Trykk Alt + F11 for å åpne kodevinduet
- Legg til følgende subrutine
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String) MsgBox firstName & " " & lastName End Sub
HER i koden,
Kode | handlinger |
---|---|
|
|
|
|
|
|
Trinn 3) Ringer subrutinen
Ringer subrutinen fra kommandoknappen klikkhendelse.
- Høyreklikk på kommandoknappen som vist på bildet nedenfor. Velg Vis kode.
- Kodeeditoren åpnes
Legg til følgende kode i koderedigering 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) Tester koden
Slå av designmodusen på utviklerverktøylinjen. Som vist nedenfor.
Trinn 5) Klikk på kommandoknappen 'FullName Subroutine'.
Du vil få følgende resultater
Sammendrag
- En subrutine er et stykke kode som utfører en bestemt oppgave. En subrutine returnerer ikke en verdi etter utførelse
- Subrutiner tilbyr kodegjenbrukbarhet
- Subrutiner hjelper til med å bryte ned store biter av kode til små håndterbare kode.