Excel VBA szubrutin: Sub hívása VBA-ban példával

Mi az a szubrutin a VBA-ban?

A Alprogram a VBA-ban egy olyan kódrészlet, amely végrehajt egy, a kódban leírt feladatot, de nem ad vissza eredményt vagy értéket. A szubrutinok a nagy kódrészletek kis kezelhető részekre bontására szolgálnak. Az alprogramok többször is előhívhatók a program bármely pontjáról.

Tegyük fel, hogy létrehozott egy felhasználói felületet szövegdobozokkal a felhasználói adatok fogadására. Létrehozhat egy szubrutint, amely törli a szövegdobozok tartalmát. A VBA hívási szubrutin megfelelő ebben a forgatókönyvben, mert nem kíván eredményt adni.

Miért használjunk szubrutinokat?

  • Törje fel a kódot kis, kezelhető kódra: Egy átlagos számítógépes programnak ezer és ezer forráskódsora van. Ez összetettséget eredményez. Az alprogramok segítenek megoldani ezt a problémát azáltal, hogy a programot kis kezelhető kóddarabokra bontják.
  • A kód újrafelhasználhatósága. Tegyük fel, hogy van egy programja, aminek hozzá kell férnie az adatbázishoz, és a programban található szinte minden ablaknak interakcióba kell lépnie az adatbázissal. Ahelyett, hogy külön kódot írna ezekhez az ablakokhoz, létrehozhat egy függvényt, amely kezeli az összes adatbázis-interakciót. Ezután bármelyik ablakból hívhatja.
  • Az alprogramok és funkciók öndokumentálóak. Tegyük fel, hogy van egy számítási LoanInterest függvénye, és egy másik, amely azt mondja, hogy connectToDatabase. Az alprogram/függvény nevének megtekintésével a programozó meg tudja mondani, mit csinál a program.

Alprogramok és függvények elnevezésének szabályai

Az alprogramok és függvények használatához szabályokat kell követni.

  • Egy szubrutin vagy VBA-hívási függvény neve nem tartalmazhat szóközt
  • Az Excel VBA hívási al- vagy függvénynevének betűvel vagy aláhúzásjellel kell kezdődnie. Nem kezdődhet számmal vagy speciális karakterrel
  • Egy szubrutin vagy függvénynév nem lehet kulcsszó. A kulcsszó olyan szó, amelynek különleges jelentése van VBA. Az olyan szavak, mint a Private, Sub, Function és End stb., mind példák a kulcsszavakra. A fordító speciális feladatokhoz használja őket.

VBA szubrutin szintaxis

A példa követéséhez engedélyeznie kell a Fejlesztő lapot az Excelben. Ha nem tudja, hogyan kell engedélyezni a Fejlesztő lapot, olvassa el az oktatóanyagot VBA Operatorzok

ITT a szintaxisban,

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

Szintaxis magyarázata

Kód Akció
  • „Private Sub mySubRoutine(…)”
  • Itt a „Sub” kulcsszó egy „mySubRoutine” nevű szubrutin deklarálására és az alprogram törzsének elindítására szolgál.
  • A Private kulcsszó az alprogram hatókörének meghatározására szolgál
  • "ByVal arg1 As String, ByVal arg2 As String":
  • Két paramétert deklarál az arg1 és arg2 karakterlánc adattípusból
  • „End Sub”
  • Az „End Sub” az alprogram törzsének befejezésére szolgál

A következő szubrutin elfogadja az utó- és vezetéknevet, és megjeleníti azokat egy üzenetablakban.

Most ezt az aleljárást fogjuk programozni és végrehajtani. Lássuk ezt.

Sub hívása VBA-ban

Az alábbiakban egy lépésről lépésre bemutatjuk a Sub hívását VBA-ban:

  1. Tervezze meg a felhasználói felületet és állítsa be a felhasználói vezérlők tulajdonságait.
  2. Adja hozzá az alprogramot
  3. Írja be az alprogramot hívó parancsgomb kattintási eseménykódját
  4. Tesztelje az alkalmazást

Step 1) felhasználói felület

Tervezze meg a felhasználói felületet az alábbi képen látható módon.

Sub hívása VBA-ban

Állítsa be a következő tulajdonságokat. Az általunk beállított tulajdonságok:

S / N Ellenőrzés Ingatlanok Érték
1 Parancsgomb1 Név btnDisplayFullName
2 Képaláírás Teljes név szubrutin


A felületnek most a következőképpen kell kinéznie.

Sub hívása VBA-ban

Step 2) Szubrutin hozzáadása

  1. Nyomja meg az Alt + F11 billentyűt a kódablak megnyitásához
  2. Adja hozzá a következő szubrutint
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)
    MsgBox firstName & " " & lastName
End Sub

ITT a kódban,

Kód Hozzászólások
  • „Private Sub displayFullName(…)”
  • Deklarál egy displayFullName privát szubrutint, amely két karakterlánc-paramétert fogad el.
  • „ByVal firstName As String, ByVal lastName As String”
  • Két paraméterváltozót deklarál: firstName és lastName
  • msgBox keresztnév családnév"
  • Az MsgBox beépített funkció az üzenetdoboz megjelenítéséhez. Ezután a 'firstName' és 'lastName' változókat adja át paraméterként.
  • Az „&” jelet a két változó összefűzésére és egy üres szóköz hozzáadására használják.

Step 3) Az alprogram hívása

A szubrutin meghívása a parancsgomb kattintás eseményéből.

  • Kattintson a jobb gombbal a parancsgombra az alábbi képen látható módon. Válassza a Kód megtekintése lehetőséget.
  • Megnyílik a kódszerkesztő

Sub hívása VBA-ban

Adja hozzá a következő kódot a kódszerkesztőben a btnDisplayFullName parancsgomb kattintási eseményéhez.

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

A kód ablakának most a következőképpen kell kinéznie

Sub hívása VBA-ban

Mentse el a változtatásokat, és zárja be a kód ablakot.

Step 4) A kód tesztelése

A fejlesztői eszköztáron kapcsolja ki a tervezési módot. Az alábbiak szerint.

Sub hívása VBA-ban

Step 5) Kattintson a 'FullName szubrutin' parancsgombra.

A következő eredményeket kapja

Sub hívása VBA-ban

Töltse le a fenti Excel kódot

Összegzésként

  • A szubrutin egy kódrészlet, amely egy adott feladatot hajt végre. Egy szubrutin nem ad vissza értéket a végrehajtás után
  • Az alprogramok a kód újrafelhasználását kínálják
  • A szubrutinok segítenek nagy kóddarabokat kis kezelhető kódokra bontani.