Hogyan lehet VBA osztálymodulokat létrehozni és használni? (Példák)

Excel VBA osztály modulok

Amikor a VBA-t használjuk, akkor a VBA-ban definiált tulajdonságokat és attribútumokat használjuk, de mi történik, ha saját tulajdonságokat, módszereket és attribútumokat akarunk létrehozni, vagyis amikor egy osztály modult használunk a VBA-ban, hogy felhasználó által megadhassuk, osztály modul saját kódkészlettel rendelkezik, amelyet a felhasználó határoz meg a funkciókhoz, tulajdonságokhoz és objektumokhoz.

A Class Module-kat egy objektum létrehozására használják. Ha objektumokat mondunk, annak ellenére, hogy ez változó, akkor ezek kicsi programok. A kód írása közben általában modulokban írunk. Az alapvető modulok azokra a helyekre, ahol megírjuk a kódokat a munka elvégzéséhez. A Felhasználói űrlapot használjuk grafikus felhasználói interfészek létrehozásához is.

De ha megnézi a fenti képet, láthatja a „Class Module” -t. Biztosan tudom, hogy addig nem nyúlt hozzá, amíg el nem olvasta ezt a bejegyzést. Ön biztosan kíváncsi arra, hogy mi ez a VBA osztály modul, amikor az összes munkát elvégezheti maga a szokásos modulunk.

Mi az osztály modul?

Az osztálymodulok lehetővé teszik a felhasználó számára, hogy saját objektumot készítsen, ugyanúgy, ahogyan mi beépítünk objektumokat olyan szokásos modulokba, mint a „munkalapok”, „munkafüzetek”, „tartomány” stb.

Így egy osztálymodul segítségével egyedi objektumokat hozhatunk létre.

Az osztály közvetlen kapcsolatban áll a tárgyakkal. Például van egy gépdiagramja a gép felépítéséhez, de ne feledje, hogy ez még nem gép, és ennek a gépdiagramnak a segítségével sok ilyen gépet fel tudunk építeni.

Például, ha különféle gépmárkákat szeretne felsorolni, hogy felsorolja a különféle modellek jellemzőit.

A gépben van márkanév, sorozatszám, gépi teljesítmény, a gép színe, a benne lévő motorok száma, üzemanyag-típus stb. Szaknyelven ezeket „tulajdonságoknak” nevezzük.

A gép tulajdonságait tekintve elindíthatjuk, kikapcsolhatjuk, növelhetjük a motor fordulatszámát, szünetet tarthatunk stb. És ezeket „módszereknek” nevezzük.

Példa

Ezt a VBA osztálysablont innen töltheti le - VBA osztálysablon

Kezdjük a gurulást, mert mindig unalmas elolvasni az elméleti részt. Osztálymodul beszúrásához lépjen a Visual Basic szerkesztőbe.

Most az alábbihoz hasonló osztálymodult láthatunk.

Ez hasonlít a fentiekhez szokásos modulként. Módosítsa az osztály modul nevét a tulajdonságok ablakban. A tulajdonságok ablak megtekintéséhez nyomja meg az F4 billentyűt .

Most deklarálja a változót stringként.

Anélkül, hogy alfolyamatot hoznánk létre az vba-ban, deklarálnunk kell a változót, és ezúttal is a „Public”, nem pedig a „Dim” szót kell használnunk.

Most ezt a változót bármely modulban és osztálymodulban elérhetjük.

Most menj egy normál modulhoz, és nevezd meg a változót.

A változó deklarálása után meg kell adnunk az adattípust a VBA-ban, az adattípus hozzárendelése helyett csak megadhatjuk az osztály modul nevét, azaz CM

Most a „k” változóval elérhetjük azt a nyilvános változót, amelyet az osztály modulban definiáltunk, vagyis a „My Value” értéket.

Amint a fenti képen láthatjuk, az osztálymodul változónév opciója mutatja az értéket.

Most mutassa meg a hozzárendelt változó értékét a VBA üzenetmezőben.

Kód:

 Alosztály_Példa () Dim k Új CM k.MyValue = "Hello" MsgBox k.MyValue End Sub 

Futtassa ezt a kódot az F5 billentyűvel vagy manuálisan az eredmény megjelenítéséhez.

Osztálymodul vs objektumok

Az osztály modul kezdeti szakaszában mindenki összekeveredik azzal, hogy mi az osztály és mi az objektum.

Ennek megértéséhez emlékezzen a gépi diagram korábbi példájára. Az első dolog, amire gépet kell előállítanunk, az az, hogy előbb meg kell terveznünk a gépet, majd több példányt meg lehet másolni ezzel a kivitellel.

Most kapcsolja össze ezt az osztály modulunkkal.

  • Itt az osztály modul egy design. Az Object pedig a Design által létrehozott másolat .
  • Még egy érdekes dolog: az „új” szót kell használnunk egy objektum létrehozásához az osztály modulból.

Az alábbiakban példa erre.

Még egy dolog, ha beépített objektumokat használunk, például munkalapokat, munkafüzeteket és tartomány objektumokat, akkor nem használjuk az „új” szót

Az eljárás megkezdéséhez az Osztály modul segítségével ezeket az alapvető tudnivalókat kell tudnia. A következő cikkekben a következő szint példáit láthatjuk.

Nehéznek tűnik ezt megérteni, minél több időt töltesz egy osztálymodullal, megszokod.