Excel VBA Subroutine: Hur man ringer Sub i VBA med exempel

Innehållsförteckning:

Anonim

Vad är en subrutin i VBA?

En underrutin i VBA är en kodkod som utför en specifik uppgift som beskrivs i koden men inte returnerar ett resultat eller ett värde. Underrutiner används för att bryta ner stora bitar av kod i små hanterbara delar. Underrutiner kan återkallas flera gånger 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ändarinmatningsdata. Du kan skapa en underrutin som rensar innehållet i textrutorna. En VBA Call Subroutine är lämplig i ett sådant scenario eftersom du inte vill returnera några resultat.

I denna VBA-handledning lär du dig-

  • Varför använda subrutiner
  • Regler för namngivning av underrutiner och funktioner
  • VBA Subroutine Syntax
  • Hur man ringer till Sub i VBA

Varför använda subrutiner

  • Bryt koden i liten hanterbar kod : Ett genomsnittligt datorprogram har tusentals och tusentals källkodslinjer. Detta introducerar komplexitet. Underrutiner hjälper till att lösa detta problem genom att dela upp programmet i små hanterbara bitar av kod.
  • Återanvändbar 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 ringa det från vilket fönster du vill.
  • Underrutiner och funktioner är självdokumenterande . Låt oss säga att du har en funktion som beräknarLoanInterest och en annan som säger connectToDatabase. Genom att bara titta på namnet på underrutinen / funktionen kan programmeraren berätta vad programmet gör.

Regler för namngivning av underrutiner och funktioner

För att använda underrutiner och funktioner finns det regler som man måste följa.

  • Ett underrutin- eller VBA-samtalsfunktionsnamn får inte innehålla utrymme
  • Ett Excel VBA Call Sub- eller funktionsnamn bör börja med en bokstav eller en understrykning. Det kan inte börja med ett nummer eller ett specialtecken
  • En underrutin eller funktionsnamn kan inte vara ett nyckelord. Ett nyckelord är ett ord som har särskild 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 Subroutine Syntax

Du måste aktivera fliken Developer i Excel för att följa detta exempel. Om du inte vet hur du aktiverar fliken Developer läser du självstudien om VBA-operatörer

HÄR i syntaxen,

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

Syntaxförklaring

Koda

Handling

  • "Privat sub mySubRoutine (...)"
  • Här används nyckelordet "Sub" för att deklarera en subrutin med namnet "mySubRoutine" och starta kroppen av subrutinen.
  • Nyckelordet Privat används för att specificera omfattningen av underrutinen
  • "ByVal arg1 som sträng, ByVal arg2 som sträng":
  • Det deklarerar två parametrar för strängdatatypnamn arg1 och arg2
  • "End Sub"
  • "End Sub" används för att avsluta kroppen av subrutinen

Följande underrutin accepterar för- och efternamn och visar dem i en meddelandefält.

Nu ska vi programmera och genomföra detta underförfarande. Låt oss se det här.

Hur man ringer till Sub i VBA

Nedan följer en steg för steg-process för hur man ringer till Sub i VBA:

  1. Designa användargränssnittet och ställ in egenskaperna för användarkontrollerna.
  2. Lägg till subrutinen
  3. Skriv klickhändelsekoden för kommandoknappen som anropar underrutinen
  4. Testa ansökan

Steg 1) Användargränssnitt

Utforma användargränssnittet enligt bilden nedan

Ställ in följande egenskaper. Egenskaperna som vi ställer in

S / N Kontrollera Fast egendom Värde
1 CommandButton1 namn btnDisplayFullName
2 Rubrik Fullt namn Subrutin

Ditt gränssnitt ska nu se ut enligt följande

Steg 2) Lägg till subrutin

  1. Tryck på Alt + F11 för att öppna kodfönstret
  2. Lägg till följande subrutin
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)MsgBox firstName & " " & lastNameEnd Sub

HÄR i koden,

Koda

Åtgärder

  • "Privat undervisningFullnamn (...)"
  • Det förklarar en privat subrutin displayFullName som accepterar två strängparametrar.
  • "ByVal förnamn som sträng, ByVal efternamn som sträng"
  • Det deklarerar två parametervariabler förnamn och efternamn
  • MsgBox förnamn & "" & efternamn "
  • Det kallar den inbyggda MsgBox-funktionen för att visa en meddelanderuta. Den skickar sedan variablerna 'förnamn' och 'efternamn' som parametrar.
  • Tecknet "&" används för att sammanfoga de två variablerna och lägga till ett tomt utrymme mellan dem.

Steg 3) Anropa subrutinen från kommandoknappen klicka på händelse.

  • Högerklicka på kommandoknappen som visas i bilden nedan. Välj Visa kod.
  • Kodredigeraren ö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 enligt följande

Spara ändringarna och stäng kodfönstret.

Steg 4) Testa koden

I utvecklarens verktygsfält sätt designläget 'av'. Enligt nedanstående.

Steg 5) Klicka på kommandoknappen 'FullName Subroutine'.

Du får följande resultat

Ladda ner ovanstående Excel-kod

Sammanfattning:

  • En underrutin är en kodkod som utför en specifik uppgift. En underrutin returnerar inte ett värde efter körning
  • Underrutiner erbjuder återanvändbar kod
  • Underrutiner hjälper till att bryta ner stora bitar av kod till liten hanterbar kod.