Excel VBA Subroutine: Cum să apelați Sub în VBA cu Exemplu

Cuprins:

Anonim

Ce este un subrutină în VBA?

Un subrutină în VBA este o bucată de cod care efectuează o sarcină specifică descrisă în cod, dar nu returnează un rezultat sau o valoare. Subrutinele sunt folosite pentru a împărți bucăți mari de cod în părți mici de gestionat. Subrutinele pot fi reamintite de mai multe ori de oriunde din program.

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

În acest tutorial VBA, veți învăța-

  • De ce să folosiți Subrutine
  • Reguli de denumire a subrutinelor și funcțiilor
  • Sintaxa subrutinei VBA
  • Cum să apelați Sub în VBA

De ce să folosiți Subrutine

  • Divizați codul într-un cod mic de gestionat : un program mediu de computer are mii și mii de linii de cod sursă. Aceasta introduce complexitate. Subrutinele ajută la rezolvarea acestei probleme prin descompunerea programului în mici bucăți 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 gestionează toate interacțiunile bazei de date. Apoi îl puteți apela din fereastra dorită.
  • Subrutinele și funcțiile se autodocumentează . 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 subrutinelor și funcțiilor

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

  • Un subrutină sau numele funcției de apel VBA nu pot conține spațiu
  • Un nume de funcție de apel VBA Excel sau numele funcției ar trebui să înceapă cu o literă sau un subliniere. Nu poate începe cu un număr sau un caracter special
  • Un nume de subrutină sau 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 exemple de cuvinte cheie. Compilatorul le folosește pentru sarcini specifice.

Sintaxa subrutinei VBA

Va trebui să activați fila Dezvoltator din Excel pentru a urma împreună cu acest exemplu. Dacă nu știți cum să activați fila Dezvoltator, citiți tutorialul VBA Operators

AICI în sintaxă,

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

Explicația sintaxei

Cod

Acțiune

  • „Sub privat MySubRoutine (...)”
  • Aici cuvântul cheie „Sub” este folosit pentru a declara un subrutină numită „mySubRoutine” și pentru a începe corpul subrutinei.
  • Cuvântul cheie Privat este utilizat pentru a specifica domeniul de aplicare al subrutinei
  • „ByVal arg1 As String, ByVal arg2 As String”:
  • Se declară doi parametri ai șirului de tipuri de date numele arg1 și arg2
  • „Sfârșitul Sub”
  • "End Sub" este folosit pentru a termina corpul subrutinei

Următorul subprogram acceptă numele și prenumele și le afișează într-o casetă de mesaje.

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 comenzile 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

Pasul 1) Interfață utilizator

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

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

S / N Control Proprietate Valoare
1 Butonul Command1 Nume btnDisplayFullName
2 Legendă Subrutină nume complet

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

Pasul 2) Adăugați subrutină

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

AICI în cod,

Cod

Acțiuni

  • „Private Sub displayFullName (…)”
  • Declară un subrutin privat displayFullName care acceptă doi parametri șir.
  • „ByVal firstName As String, ByVal lastName As String”
  • Declară două variabile de parametru firstName și lastName
  • MsgBox firstName & "" & lastName "
  • Apelează funcția încorporată MsgBox pentru a afișa o casetă de mesaje. Apoi trece variabilele „firstName” și „lastName” ca parametri.
  • Ampersand "&" este utilizat pentru concatenarea celor două variabile și adăugarea unui spațiu gol între ele.

Pasul 3) 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.
  • Editorul de cod se va deschide

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

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

Fereastra codului dvs. ar trebui să arate acum după cum urmează

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

Pasul 4) Testarea codului

Pe bara de instrumente pentru dezvoltatori puneți modul de proiectare „dezactivat”. Așa cum se arată mai jos.

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

Veți obține următoarele rezultate

Descărcați codul Excel de mai sus

Rezumat:

  • Un subrutină este o bucată de cod care efectuează o sarcină specifică. Un subrutin nu returnează o valoare după executare
  • Subrutinele oferă reutilizarea codului
  • Subrutinele ajută la descompunerea unor bucăți mari de cod în coduri mici de gestionat.