Excel VBA -alirutiini: Kuinka kutsua Subiin VBA:ssa esimerkin avulla

Mikä on VBA:n aliohjelma?

A Aliohjelma VBA:ssa on koodinpala, joka suorittaa tietyn koodissa kuvatun tehtävän, mutta ei palauta tulosta tai arvoa. Aliohjelmia käytetään pilkkomaan suuret koodinpalat pieniksi hallittaviin osiin. Aliohjelmat voidaan kutsua useita kertoja mistä tahansa ohjelmasta.

Oletetaan, että olet luonut käyttöliittymän, jossa on tekstilaatikoita käyttäjän syöttämien tietojen hyväksymistä varten. Voit luoda aliohjelman, joka tyhjentää tekstiruutujen sisällön. VBA-puhelualirutiini on sopiva tällaisessa tilanteessa, koska et halua palauttaa tuloksia.

Miksi käyttää aliohjelmia

  • Riko koodi pieneksi hallittavaksi koodiksi: Keskivertotietokoneohjelmassa on tuhansia ja tuhansia lähdekoodirivejä. Tämä tuo monimutkaisuutta. Aliohjelmat auttavat ratkaisemaan tämän ongelman jakamalla ohjelman pieniin hallittaviin koodipaloihin.
  • Koodin uudelleenkäytettävyys. Oletetaan, että sinulla on ohjelma, joka tarvitsee pääsyn tietokantaan. Lähes kaikkien ohjelman ikkunoiden on oltava vuorovaikutuksessa tietokannan kanssa. Sen sijaan, että kirjoittaisit erillisen koodin näille ikkunoille, voit luoda funktion, joka käsittelee kaikki tietokantavuorovaikutukset. Voit sitten soittaa sille mistä tahansa ikkunasta.
  • Aliohjelmat ja toiminnot dokumentoivat itsestään. Oletetaan, että sinulla on funktiocallLoanInterest ja toinen, joka sanoo connectToDatabase. Pelkästään aliohjelman/funktion nimeä katsomalla ohjelmoija pystyy kertomaan, mitä ohjelma tekee.

Aliohjelmien ja funktioiden nimeämissäännöt

Aliohjelmien ja funktioiden käyttämiseksi on olemassa joukko sääntöjä, joita on noudatettava.

  • Aliohjelman tai VBA-kutsufunktion nimi ei voi sisältää välilyöntiä
  • Excel VBA Call Sub - tai funktion nimen tulee alkaa kirjaimella tai alaviivalla. Se ei voi alkaa numerolla tai erikoismerkillä
  • Aliohjelman tai funktion nimi ei voi olla avainsana. Avainsana on sana, jolla on erityinen merkitys VBA. Sanat, kuten Yksityinen, Sub, Function ja End jne. ovat kaikki esimerkkejä avainsanoista. Kääntäjä käyttää niitä tiettyihin tehtäviin.

VBA-alirutiinin syntaksi

Sinun on otettava Kehittäjä-välilehti käyttöön Excelissä, jotta voit seurata tätä esimerkkiä. Jos et tiedä, kuinka Kehittäjä-välilehti otetaan käyttöön, lue opetusohjelma VBA OperaTors

TÄÄLLÄ syntaksissa,

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

Syntaksin selitys

Koodi Toiminta
  • "Private Sub mySubRoutine (…)"
  • Tässä avainsanaa "Sub" käytetään ilmoittamaan "mySubRoutine"-niminen aliohjelma ja aloittamaan aliohjelman runko.
  • Avainsanaa Yksityinen käytetään määrittämään aliohjelman laajuus
  • "ByVal arg1 merkkijonona, ByVal arg2 merkkijonona":
  • Se ilmoittaa kaksi parametria merkkijonotietotyypin nimi arg1 ja arg2
  • "Lopeta sub"
  • "End Sub" -toimintoa käytetään lopettamaan aliohjelman runko

Seuraava aliohjelma hyväksyy etu- ja sukunimen ja näyttää ne viestiruudussa.

Nyt aiomme ohjelmoida ja suorittaa tämän alimenettelyn. Katsotaanpa tämä.

Kuinka soittaa Subiin VBA:ssa

Alla on vaiheittainen prosessi Sub-puhelun soittamiseksi VBA:ssa:

  1. Suunnittele käyttöliittymä ja määritä käyttäjäohjaimien ominaisuudet.
  2. Lisää aliohjelma
  3. Kirjoita klikkaustapahtumakoodi komentopainikkeelle, joka kutsuu aliohjelmaa
  4. Testaa sovellus

Vaihe 1) Käyttöliittymä

Suunnittele käyttöliittymä alla olevan kuvan mukaisesti.

Kuinka soittaa Subiin VBA:ssa

Aseta seuraavat ominaisuudet. Ominaisuudet, jotka asetamme:

S / N Valvonta: Omaisuus Arvo
1 Komentopainike1 Nimi btnDisplayFullName
2 Kuvateksti Koko nimi aliohjelma


Käyttöliittymäsi pitäisi nyt näyttää seuraavalta.

Kuinka soittaa Subiin VBA:ssa

Vaihe 2) Lisää aliohjelma

  1. Avaa koodiikkuna painamalla Alt + F11
  2. Lisää seuraava aliohjelma
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)
    MsgBox firstName & " " & lastName
End Sub

TÄÄLLÄ koodissa,

Koodi Toiminnot
  • "Private Sub displayFullName(…)"
  • Se ilmoittaa yksityisen aliohjelman displayFullName, joka hyväksyy kaksi merkkijonoparametria.
  • "ByVal etunimi merkkijonona, ByVal lastName merkkijonona"
  • Se ilmoittaa kaksi parametrimuuttujaa etunimi ja sukunimi
  • MsgBox etunimi Sukunimi"
  • Se kutsuu MsgBox sisäänrakennettu toiminto viestilaatikon näyttämiseksi. Sitten se välittää muuttujat "firstName" ja "lastName" parametreina.
  • Et-merkkiä "&" käytetään yhdistämään kaksi muuttujaa ja lisäämään niiden väliin tyhjä väli.

Vaihe 3) Aliohjelman kutsuminen

Aliohjelman kutsuminen komentopainikkeen napsautustapahtumasta.

  • Napsauta komentopainiketta hiiren kakkospainikkeella alla olevan kuvan mukaisesti. Valitse Näytä koodi.
  • Koodieditori avautuu

Kuinka soittaa Subiin VBA:ssa

Lisää seuraava koodi koodieditoriin btnDisplayFullName-komentopainikkeen napsautustapahtumalle.

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

Koodiikkunasi pitäisi nyt näyttää seuraavalta

Kuinka soittaa Subiin VBA:ssa

Tallenna muutokset ja sulje koodiikkuna.

Vaihe 4) Koodin testaus

Laita kehittäjän työkalurivin suunnittelutila pois päältä. Kuten alla.

Kuinka soittaa Subiin VBA:ssa

Vaihe 5) Napsauta komentopainiketta 'FullName-alirutiini'.

Saat seuraavat tulokset

Kuinka soittaa Subiin VBA:ssa

Lataa yllä oleva Excel-koodi

Yhteenveto

  • Aliohjelma on koodinpala, joka suorittaa tietyn tehtävän. Aliohjelma ei palauta arvoa suorituksen jälkeen
  • Aliohjelmat tarjoavat koodin uudelleenkäytettävyyden
  • Aliohjelmat auttavat hajottamaan suuret koodipalat pieneksi hallittavaksi koodiksi.