Subrutină Excel VBA: Cum să apelați Sub în VBA cu exemplu

Ce este o subrutină în VBA?

A Subrutină în VBA este o bucată de cod care îndeplinește o sarcină specifică descrisă în cod, dar nu returnează un rezultat sau o valoare. Subrutinele sunt folosite pentru a descompune bucăți mari de cod în părți mici, ușor de gestionat. Subrutinele pot fi rechemate de mai multe ori de oriunde în program.

Să presupunem că ați creat o interfață de utilizator cu casete de text pentru acceptarea datelor introduse de utilizator. Puteți crea o subrutină care șterge conținutul casetelor de text. O subrutină de apel VBA este adecvată într-un astfel de scenariu, deoarece nu doriți să returnați niciun rezultat.

De ce să folosiți subrutine

  • Împărțiți codul în cod mic ușor de gestionat: Un program de calculator mediu are mii și mii de linii de cod sursă. Aceasta introduce complexitate. Subrutinele ajută la rezolvarea acestei probleme prin descompunerea programului în bucăți mici de cod gestionabile.
  • Reutilizarea codului. Să presupunem că aveți un program care trebuie să acceseze baza de date, aproape toate ferestrele din program vor trebui să interacționeze cu baza de date. În loc să scrieți cod separat pentru aceste ferestre, puteți crea o funcție care se ocupă de toate interacțiunile cu bazele de date. Apoi îl puteți apela din orice fereastră doriți.
  • Subrutinele și funcțiile sunt auto-documentate. Să presupunem că aveți o funcție calculateLoanInterest și alta care spune connectToDatabase. Privind doar numele subrutinei/funcției, programatorul va putea spune ce face programul.

Reguli de denumire a subprogramelor și funcțiilor

Pentru a utiliza subrutine și funcții, există un set de reguli pe care trebuie să le urmați.

  • Numele unei subrutine sau al unei funcții de apel VBA nu poate conține spațiu
  • Un sub apel Excel VBA sau un nume de funcție ar trebui să înceapă cu o literă sau un caracter de subliniere. Nu poate începe cu un număr sau un caracter special
  • Un nume de subrutină sau de funcție nu poate fi un cuvânt cheie. Un cuvânt cheie este un cuvânt care are o semnificație specială în VBA. Cuvinte precum Private, Sub, Function și End etc. sunt toate exemple de cuvinte cheie. Compilatorul le folosește pentru sarcini specifice.

Sintaxa subrutinei VBA

Va trebui să activați fila Dezvoltator în Excel pentru a urma acest exemplu. Dacă nu știți cum să activați fila Dezvoltator, citiți tutorialul mai departe VBA Operatori

AICI în sintaxă,

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

Explicația sintaxei

Cod Acțiune
  • „Privat Sub mySubRoutine(…)”
  • Aici cuvântul cheie „Sub” este folosit pentru a declara o subrutină numită „mySubRoutine” și pentru a porni corpul subrutinei.
  • Cuvântul cheie Privat este folosit pentru a specifica domeniul de aplicare al subrutinei
  • „ByVal arg1 ca șir, ByVal arg2 ca șir”:
  • Declara doi parametri ai tipului de date șir nume arg1 și arg2
  • „End Sub”
  • „End Sub” este folosit pentru a încheia corpul subrutinei

Următoarea subrutină acceptă numele și prenumele și le afișează într-o casetă de mesaj.

Acum vom programa și executa această subprocedură. Să vedem asta.

Cum să apelați sub în VBA

Mai jos este un proces pas cu pas despre cum să apelați sub în VBA:

  1. Proiectați interfața cu utilizatorul și setați proprietățile pentru controalele utilizatorului.
  2. Adăugați subrutina
  3. Scrieți codul evenimentului de clic pentru butonul de comandă care apelează subrutina
  4. Testați aplicația

Pas 1) User Interface

Proiectați interfața cu utilizatorul așa cum se arată în imaginea de mai jos.

Cum să apelați sub în VBA

Setați următoarele proprietăți. Proprietățile pe care le setăm:

S / N Mod de control: Proprietatea Valoare
1 Butonul Command1 Nume btnDisplayFullName
2 Legendă Subrutină cu nume complet


Interfața dvs. ar trebui să arate acum după cum urmează.

Cum să apelați sub în VBA

Pas 2) Adăugați subrutină

  1. Apăsați Alt + F11 pentru a deschide fereastra de cod
  2. Adăugați următoarea subrutină
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)
    MsgBox firstName & " " & lastName
End Sub

AICI în cod,

Cod Acţiuni
  • „Private Sub displayFullName(…)”
  • Acesta declară o subrutină privată displayFullName care acceptă doi parametri șir.
  • „ByVal firstName ca șir, ByVal lastName ca șir”
  • Declară două variabile parametri firstName și lastName
  • msgBox prenume și ” ” și prenume”
  • Se cheama MsgBox funcție încorporată pentru afișarea unei casete de mesaje. Apoi trece variabilele „firstName” și „lastName” ca parametri.
  • Ampersand „&” este folosit pentru a concatena cele două variabile și pentru a adăuga un spațiu gol între ele.

Pas 3) Apelarea subrutinei

Apelarea subrutinei din butonul de comandă faceți clic pe eveniment.

  • Faceți clic dreapta pe butonul de comandă, așa cum se arată în imaginea de mai jos. Selectați Vizualizare cod.
  • Se va deschide editorul de cod

Cum să apelați sub în VBA

Adăugați următorul cod în editorul de cod pentru evenimentul clic al butonului de comandă btnDisplayFullName.

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

Fereastra de cod ar trebui să arate acum după cum urmează

Cum să apelați sub în VBA

Salvați modificările și închideți fereastra de cod.

Pas 4) Testarea codului

Pe bara de instrumente pentru dezvoltatori, dezactivați modul de proiectare. Așa cum se arată mai jos.

Cum să apelați sub în VBA

Pas 5) Faceți clic pe butonul de comandă „FullName Subroutine”.

Veți obține următoarele rezultate

Cum să apelați sub în VBA

Descărcați codul Excel de mai sus

Rezumat

  • O subrutină este o bucată de cod care îndeplinește o anumită sarcină. O subrutină nu returnează o valoare după execuție
  • Subrutinele oferă reutilizarea codului
  • Subrutinele ajută la descompunerea bucăților mari de cod în cod mic, ușor de gestionat.