Excel VBA osztálymodul

A VBA osztálymodulja olyan modulként definiálható, amely elősegíti a saját objektumok létrehozását a saját tulajdonságaival és módszereivel, például a munkalapokkal és az excel célkitűzéseivel.

Egyszerűen fogalmazva a VBA osztálymodul segítségével saját tulajdonságokkal rendelkező objektumokat hozhatunk létre. Mielőtt osztálymodult és annak objektumait létrehozná a VBA-ban, tanácsos megérteni az osztály és az objektum fogalmát. Vegyünk egy valós példát, hogy megértsük, mi az osztály, mi az a tárgy és annak viszonya.

Például, ha az épület tervét vagy az épület tervét vesszük, akkor az épületterv segítségével nem csak egy épületet építhetünk, hanem ugyanazt a tervet is felhasználhatjuk, és több épületet építhetünk különböző helyekre. Ezek eltérhetnek a szobák méretétől, a tető magasságától stb., De az épület tényleges tulajdonságai változatlanok, mivel alagsornak, ajtóknak, oszlopoknak, mennyezetnek stb. Kell lennie.

Hasonlóképpen, ha egy autótervet vagy modellt vesz fel, több példányt is előállíthatunk ehhez. Az autó tulajdonságai több kerék, szín, teljesítmény stb. Lehetnek. Néhány tulajdonság autónként változhat, de a fő konfiguráció változatlan marad.

A világosabbá tétele érdekében a következőket definiálhatjuk:

  • Osztály: Ez egy olyan tervrajz, amely segít létrehozni egy tárgyat.
  • Tárgy: A dolog tényleges létezése.

Hogyan lehet beilleszteni egy osztálymodult az Excel VBA-ba?

Az alábbiakban bemutatjuk azokat a különféle példákat, amelyekkel egy osztálymodult az Excelbe beilleszthetünk VBA-kóddal.

Itt letöltheti ezt a VBA osztálymodul Excel sablont - VBA osztálymodul Excel sablon

Excel VBA osztálymodul - 1. példa

Az alábbiakban bemutatjuk az osztálymodul beszúrásának különféle lépéseit, az VBA kód használatával.

1. lépés: Lépjen a felső „ Fejlesztő ” menübe, és kattintson a bal oldali Visual Basic -re.

2. lépés: Osztálymodul létrehozásához be kell illesztenünk egy osztálymodult a VBA-ba. Kattintson a Beszúrás legördülő menüre a tetején. Ebből válasszon egy osztálymodult .

Most egy osztálymodult illesztünk be a VBA bal oldalára, ahogy az alábbi képernyőképen látható.

Ahogy korábban tárgyaltuk, az osztálymodul egy terv, amellyel objektumokat készítünk. Tehát meg kell határoznunk néhány változót és módszert, amelyek minden objektum számára elérhetők lesznek.

3. lépés: Változtassa meg az osztálymodul nevét az igénye szerint, itt Blueprint néven változtam

4. lépés: Most meg kell határoznunk a változókat és a módszereket.

Kód:

 Opció Explicit Nyilvános hozzáadása egész számként Nyilvános pro mint Egészség nyilvános x Közös egész szám nyilvános y Egész számként 

Amint a fenti képernyőképen látható, először az explicit opcióval kezdje. Miért opcionális? Hiba lesz, ha a programban olyan változót használunk, amely nincs meghatározva, akkor minden változót kifejezetten meg kell határoznunk. Itt definiálunk négy változót: add, pro, x és y. Az összes változó nyilvános, mert akkor csak ezek a változók férhetnek hozzá más modulokhoz.

5. lépés: Eddig a definiált változóknak most meg kell határozniuk a módszereket vagy a funkciókat.

Kód:

 Opció Explicit Nyilvános hozzáadása Egész egészként Nyilvános egészként Egész egész Nyilvános x Egész egész nyilvános y Egész egész részösszeg () add = x + y MsgBox (add) End Sub 

Meghatároztam egy egyszerű módszerösszeget (), az igények szerint meghatározhat komplex alprogramokat. Összegezve az (al) módszerben meghatározzuk, hogyan kell végrehajtani az összeadási műveletet, és hol kell tárolni ezt az értéket, majd az eredményt egy üzenet mezőben kell megjeleníteni.

6. lépés: Osztálymodult hoztak létre, itt az ideje, hogy hozzunk létre egy normál modult az osztályterv használatához. Ezért ugyanúgy illesszen be egy modult, ahogyan beillesztettük az osztálymodult.

7. lépés: Alapértelmezés szerint a modul neve modul1 lesz, amelyet megváltoztathatunk, ha akarjuk. Írja be a kódot az 1. modulba.

Kód:

 Sub matematika () Dim obj As New Blueprint obj.x = 5 obj.y = 6 obj.sum End Sub 

Itt alprogram matematikát () írunk. Ebben elkészítettünk egy obj névvel rendelkező objektumot, amely megegyezik egy osztálytervvel. Ez az oka annak, hogy úgy definiáltuk, hogy „obj mint új terv”, ami azt jelenti, hogy a terv többszöröződik, és a név obj.

Ebben a programban nem határoztuk meg az x és y értéket, hanem közvetlenül hozzárendeljük az értékeket az x és y értékhez, mert ezeket már definiáltuk egy osztálymodulban, és az obj másolatát képezi. Ennélfogva lesznek ezek a változók, de hívásukhoz egy object.variable nevet kell használni.

Obj.x = 5 átlag, az 5. értéket x változóban tárolja.

Obj.y = 6 6. átlagérték y változóban kerül tárolásra.

Most hívja meg az osztály modulban definiált módszereket az obj objektumnév használatával.

Az Obj.sum () végrehajtja az osztálymodulban megadott összeadási műveletet. Az osztálymodulban x + y-ként és objektumként definiáltuk, meghatároztuk az x és y értékeit, tehát az értékeket fog elvégezni, elvégzi a számítást, és az eredményt egészben típusú összeadásban tárolja. Az utolsó lépésben megjeleníti az eredményt az üzenet mezőben.

8. lépés: Futtassa az 1. modult az F5 billentyű megnyomásával vagy a Play gombra kattintással.

9. lépés: Válassza ki a makró nevét, majd kattintson a Futtatás opcióra.

Az eredmények az alábbiak szerint jelennek meg.

Excel VBA osztálymodul - 2. példa

Kövesse az alábbi lépéseket:

1. lépés: Most adjon hozzá egy másik módszert, az úgynevezett „mul” -t a szorzási művelet végrehajtásához. Az eredményt az 1. lap celláiban (5, 5) kell tárolni.

Kód:

 Sub mul () pro = x * y Sheet1.Cells (5, 5) = pro End Sub 

A fenti mul () módszernél x-et és y-t megszorozzuk, és az eredményt „pro” -ben tároljuk, amely egész adattípus.

2. lépés: Most ugorjon az 1. modulra, és hívja meg ezt a mul módszert az obj objektummal az alábbiak szerint.

Kód:

 Sub math1 () Dim obj As New Blueprint obj.x = 5 obj.y = 6 obj.mul End Sub 

3. lépés: Nyomja meg az F5 billentyűt a modul futtatásához. Lépjen az 1. lapra, és ellenőrizze, hogy az eredmény az alábbiak szerint jelenik meg.

Az előző példában az eredményeket jelenítettük meg az üzenet mezőben, a második módszernél pedig az Excelben. Tehát, ha deklaráljuk a változókat és a módszereket az osztálymodulban, akkor ezt más modulokban is felhasználhatjuk egy objektum segítségével, a kód megismétlése nélkül. Remélem, megértette, hogyan kell beilleszteni az osztálymodult az Excel VBA-ba, és hogyan lehet objektumot létrehozni ehhez.

Dolgok, amikre emlékezni kell

  • Mindig javasoljuk, hogy egy explicit modult használjunk egy osztálymodul elkészítésekor, mert a VBA változóinak használatakor hibakeresési hiba léphet fel.
  • Ha nem említjük a lapszámot az eredmények megjelenítéséhez, akkor az aktív lapot automatikusan kiválasztja.
  • Használja a Nyilvános kulcsszót a változók inicializálása közben, hogy a változók más modulokon keresztül is hozzáférjenek.
  • A változókat vagy módszereket csak az objektum létrehozása után hívhatja meg. tehát hozzon létre egy objektumot az osztályhoz, majd hívja meg a változókat és a metódusokat.

Ajánlott cikkek

Ez egy útmutató a VBA osztálymodulhoz. Itt tárgyaljuk, hogyan lehet az osztálymodult az Excelbe beilleszteni VBA-kóddal, néhány gyakorlati példával és letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket -

  1. VBA keresés és csere
  2. Excel összeg szín szerint
  3. A VBA ellenőrző fájl létezik
  4. Excel törölje a Pivot táblát
  5. VBA kód | Példák

Kategória: