Excel VBA Subroutine: Hur man ringer Sub i VBA med exempel
Vad är en subrutin i VBA?
A Subrutin i VBA är en kodbit som utför en specifik uppgift som beskrivs i koden men som inte returnerar ett resultat eller ett värde. Subrutiner används för att bryta ner stora bitar av kod i små hanterbara delar. Subrutiner kan återkallas flera gånger från var som helst i programmet.
Låt oss säga att du har skapat ett användargränssnitt med textrutor för att acceptera användarindata. Du kan skapa en subrutin som rensar innehållet i textrutorna. En subrutin för VBA-samtal är lämplig i ett sådant scenario eftersom du inte vill returnera några resultat.
Varför använda subrutiner
- Bryt upp kod i liten hanterbar kod: Ett genomsnittligt datorprogram har tusentals och åter tusentals källkodsrader. Detta introducerar komplexitet. Subrutiner hjälper till att lösa detta problem genom att dela upp programmet i små hanterbara bitar av kod.
- Återanvändning av kod. Låt oss säga att du har ett program som behöver komma åt databasen, nästan alla fönster i programmet kommer att behöva interagera med databasen. Istället för att skriva separat kod för dessa fönster kan du skapa en funktion som hanterar alla databasinteraktioner. Du kan sedan anropa det från vilket fönster du vill.
- Subrutiner och funktioner är självdokumenterande. Låt oss säga att du har en funktion calculateLoanInterest och en annan som säger connectToDatabase. Genom att bara titta på namnet på subrutinen/funktionen kommer programmeraren att kunna berätta vad programmet gör.
Regler för namngivning av subrutiner och funktioner
För att använda subrutiner och funktioner finns det regler som man måste följa.
- Namnet på en subrutin eller VBA-anropsfunktion kan inte innehålla mellanslag
- Ett Excel VBA Call Sub- eller funktionsnamn ska börja med en bokstav eller ett understreck. Det kan inte börja med ett nummer eller ett specialtecken
- En subrutin eller funktionsnamn kan inte vara ett nyckelord. Ett nyckelord är ett ord som har speciell betydelse i VBA. Ord som Privat, Sub, Funktion och Slut, etc. är alla exempel på nyckelord. Kompilatorn använder dem för specifika uppgifter.
VBA-subrutinsyntax
Du måste aktivera fliken Utvecklare i Excel för att följa detta exempel. Om du inte vet hur du aktiverar fliken Utvecklare läs sedan handledningen på VBA Operatorer
HÄR i syntaxen,
Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String) 'do something End Sub
Syntaxförklaring
Koda | Handling |
---|---|
|
|
|
|
|
|
Följande subrutin accepterar för- och efternamnet och visar dem i en meddelanderuta.
Nu ska vi programmera och köra denna underprocedur. Låt se det här.
Hur man ringer Sub i VBA
Nedan följer en steg-för-steg-process om hur man ringer sub i VBA:
- Designa användargränssnittet och ställ in egenskaperna för användarkontrollerna.
- Lägg till subrutinen
- Skriv klickhändelsekoden för kommandoknappen som anropar subrutinen
- Testa applikationen
Steg 1) Användargränssnitt
Designa användargränssnittet enligt bilden nedan.
Ställ in följande egenskaper. Egenskaperna som vi ställer in:
S / N | kontroll | Fast egendom | Värde |
---|---|---|---|
1 | Kommandoknapp1 | Namn | btnDisplayFullnamn |
2 | Bildtext | Subrutin för fullständigt namn |
Ditt gränssnitt bör nu se ut som följer.
Steg 2) Lägg till subrutin
- Tryck på Alt + F11 för att öppna kodfönstret
- Lägg till följande subrutin
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String) MsgBox firstName & " " & lastName End Sub
HÄR i koden,
Koda | Actions |
---|---|
|
|
|
|
|
|
Steg 3) Ringer subrutinen
Anropar subrutinen från kommandoknappens klickhändelse.
- Högerklicka på kommandoknappen som visas i bilden nedan. Välj Visa kod.
- Kodeditorn öppnas
Lägg till följande kod i kodredigeraren för klickhändelsen för kommandoknappen btnDisplayFullName.
Private Sub btnDisplayFullName_Click() displayFullName "John", "Doe" End Sub
Ditt kodfönster ska nu se ut som följer
Spara ändringarna och stäng kodfönstret.
Steg 4) Testar koden
Stäng av designläget i verktygsfältet för utvecklare. Enligt nedanstående.
Steg 5) Klicka på kommandoknappen 'FullName Subroutine'.
Du kommer att få följande resultat
Sammanfattning
- En subrutin är en kod som utför en specifik uppgift. En subrutin returnerar inte ett värde efter exekvering
- Subrutiner erbjuder kodåteranvändning
- Subrutiner hjälper till att bryta ner stora bitar av kod till liten hanterbar kod.