Excel VBA potprogram: Kako pozvati Sub u VBA s primjerom

Što je potprogram u VBA?

A Potprogram u VBA je dio koda koji izvršava određeni zadatak opisan u kodu, ali ne vraća rezultat ili vrijednost. Potprogrami se koriste za rastavljanje velikih dijelova koda na male dijelove kojima se može upravljati. Potprogrami se mogu pozvati više puta s bilo kojeg mjesta u programu.

Recimo da ste kreirali korisničko sučelje s tekstualnim okvirima za prihvaćanje korisničkih podataka za unos. Možete stvoriti potprogram koji briše sadržaj tekstnih okvira. Potprogram VBA poziva prikladan je u takvom scenariju jer ne želite vratiti nikakve rezultate.

Zašto koristiti potprograme

  • Rastavite kod na mali upravljivi kod: Prosječan računalni program ima tisuće i tisuće redaka izvornog koda. Ovo uvodi složenost. Potprogrami pomažu u rješavanju ovog problema rastavljanjem programa na male upravljive dijelove koda.
  • Mogućnost ponovne upotrebe koda. Recimo da imate program koji treba pristupiti bazi podataka, gotovo svi prozori u programu morat će komunicirati s bazom podataka. Umjesto pisanja zasebnog koda za te prozore, možete stvoriti funkciju koja obrađuje sve interakcije s bazom podataka. Zatim ga možete nazvati iz bilo kojeg prozora koji želite.
  • Potprogrami i funkcije se sami dokumentiraju. Recimo da imate funkciju CalculateLoanInterest i drugu koja kaže ConnectToDatabase. Samo gledajući naziv potprograma/funkcije, programer će moći reći što program radi.

Pravila imenovanja potprograma i funkcija

Za korištenje potprograma i funkcija postoji niz pravila kojih se morate pridržavati.

  • Naziv potprograma ili funkcije VBA poziva ne smije sadržavati razmak
  • Excel VBA Call Sub ili naziv funkcije trebao bi započeti slovom ili podvlakom. Ne može započeti brojem ili posebnim znakom
  • Naziv potprograma ili funkcije ne može biti ključna riječ. Ključna riječ je riječ koja ima posebno značenje u VBA. Riječi kao što su Private, Sub, Function i End, itd. sve su to primjeri ključnih riječi. Prevodilac ih koristi za određene zadatke.

Sintaksa potprograma VBA

Morat ćete omogućiti karticu Razvojni programer u Excelu da biste slijedili ovaj primjer. Ako ne znate kako omogućiti karticu Razvojni programer, pročitajte tutorial dalje VBA Operaulagatelji

OVDJE u sintaksi,

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

Objašnjenje sintakse

Kodirati Akcijski
  • “Privatni Sub mySubRoutine(…)”
  • Ovdje se ključna riječ "Sub" koristi za deklariranje potprograma pod nazivom "mySubRoutine" i pokretanje tijela potprograma.
  • Ključna riječ Private koristi se za određivanje opsega potprograma
  • “ByVal arg1 kao niz, ByVal arg2 kao niz”:
  • Deklarira dva parametra tipa podataka niza naziva arg1 i arg2
  • “Završni pod”
  • “End Sub” se koristi za završetak tijela potprograma

Sljedeći potprogram prihvaća ime i prezime i prikazuje ih u okviru s porukom.

Sada ćemo programirati i izvršiti ovu podproceduru. Da vidimo ovo.

Kako nazvati Sub u VBA

Ispod je korak po korak proces kako nazvati Sub u VBA:

  1. Dizajnirajte korisničko sučelje i postavite svojstva za korisničke kontrole.
  2. Dodajte potprogram
  3. Napišite kod događaja klika za naredbeni gumb koji poziva potprogram
  4. Testirajte aplikaciju

Korak 1) Korisničko sučelje

Dizajnirajte korisničko sučelje kao što je prikazano na slici ispod.

Kako nazvati Sub u VBA

Postavite sljedeća svojstva. Svojstva koja postavljamo:

S / N kontrola Svojstvo Još malo brojeva
1 CommandButton1 Ime i Prezime btnDisplayFullName
2 Naslov Puni naziv potprograma


Vaše sučelje bi sada trebalo izgledati ovako.

Kako nazvati Sub u VBA

Korak 2) Dodaj potprogram

  1. Pritisnite Alt + F11 da biste otvorili prozor koda
  2. Dodajte sljedeću potprogram
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)
    MsgBox firstName & " " & lastName
End Sub

OVDJE u kodu,

Kodirati Akcije
  • “Privatni podprikazPuno ime(…)”
  • Deklariše privatnu podrutinu displayFullName koja prihvaća dva parametra niza.
  • “ByVal firstName kao niz, ByVal prezime kao niz”
  • Deklarira dvije varijable parametra firstName i lastName
  • PorBox ime prezime"
  • Poziva MsgBox ugrađena funkcija za prikaz okvira s porukom. Zatim prosljeđuje varijable 'firstName' i 'lastName' kao parametre.
  • Znak & "&" koristi se za spajanje dviju varijabli i dodavanje praznog prostora između njih.

Korak 3) Pozivanje potprograma

Pozivanje potprograma iz događaja klika na naredbeni gumb.

  • Kliknite desnom tipkom na naredbeni gumb kao što je prikazano na slici ispod. Odaberite Pregled koda.
  • Otvorit će se uređivač koda

Kako nazvati Sub u VBA

Dodajte sljedeći kod u uređivač koda za događaj klika naredbenog gumba btnDisplayFullName.

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

Vaš prozor koda sada bi trebao izgledati ovako

Kako nazvati Sub u VBA

Spremite promjene i zatvorite prozor koda.

Korak 4) Testiranje koda

Na alatnoj traci za razvojne programere isključite način dizajna. Kako je prikazano dolje.

Kako nazvati Sub u VBA

Korak 5) Kliknite na naredbeni gumb 'Podrutina punog naziva'.

Dobit ćete sljedeće rezultate

Kako nazvati Sub u VBA

Preuzmite gornji Excel kod

rezime

  • Potprogram je dio koda koji obavlja određeni zadatak. Potprogram ne vraća vrijednost nakon izvršenja
  • Potprogrami nude mogućnost ponovne upotrebe koda
  • Potprogrami pomažu rastaviti velike dijelove koda na mali kod kojim se može upravljati.