Kuinka luoda ja käyttää VBA-luokan moduuleja? (Esimerkkejä)

Excel VBA -luokan moduulit

Kun käytämme VBA: ta, käytämme VBA: ssa määritettyjä ominaisuuksia ja määritteitä, mutta mitä tapahtuu, kun haluamme luoda omia ominaisuuksia ja menetelmiä ja määritteitä, toisin sanoen kun käytämme luokan moduulia VBA: ssa, jotta voimme määrittää sen käyttäjän määrittelemäksi, luokan moduulilla on oma koodisarja, jonka käyttäjä määrittelee toiminnoille, ominaisuuksille ja objekteille.

Luokkamoduuleja käytetään objektin luomiseen. Kun sanomme esineitä, vaikka se on muuttuja, ne ovat pieniä ohjelmia. Koodia kirjoitettaessa kirjoitamme yleensä moduuleina. Perusmoduulit ovat silloin, kun kirjoitamme koodimme työn suorittamiseksi. Käytämme myös käyttäjälomaketta graafisten käyttöliittymien luomiseen.

Mutta jos tarkastelet yllä olevaa kuvaa, näet "Class Module". Tiedän varmasti, ettet ole koskenut siihen ennen kuin luet tätä viestiä. Sinun on mietittävä, mikä tämä VBA-luokan moduuli on, kun kaikki työt voidaan tehdä käyttämällä itse tavallista moduulia.

Mikä on luokan moduuli?

Luokkamoduulien avulla käyttäjä voi luoda oman objektin samalla tavalla kuin meillä on sisäänrakennettuja objekteja tavallisissa moduuleissa, kuten "laskentataulukot", "työkirjat", "alue" jne.

Tällä tavoin käyttämällä luokan moduulia voimme luoda mukautettuja objekteja.

Luokalla on suora suhde esineisiin. Esimerkiksi sinulla on konekaavio koneen rakentamiseen, mutta muista, että se ei ole vielä kone, ja tämän konekaavion avulla voimme rakentaa monia sellaisia ​​koneita.

Esimerkiksi, jos haluat luetella erilaisia ​​konemerkkejä luetellaksesi eri mallien ominaisuudet.

Koneessa meillä on tuotenimi, sarjanumero, koneen teho, koneen väri, siihen liittyvien moottoreiden lukumäärä, moottoripolttoainetyyppi jne. ... Teknisellä kielellä näitä kutsutaan "ominaisuuksiksi".

Koneen ominaisuuksien suhteen voimme käynnistää, sammuttaa virran, lisätä moottorin nopeutta, taukoa jne. ... Ja näitä kutsutaan "menetelmiksi".

Esimerkki

Voit ladata tämän VBA-luokan mallin täältä - VBA-luokan malli

Aloitetaan pallon liikkuminen, koska teoreettisen osan lukeminen on aina tylsää. Jos haluat lisätä luokan moduulin, siirry lisävarusteeseen Visual Basic Editorissa.

Nyt voimme nähdä alla olevan kaltaisen luokan moduulin.

Tämä näyttää samanlaiselta kuin yllä oleva tavallisena moduulina. Muuta luokan moduulin nimi ominaisuusikkunassa. Näet ominaisuudet -ikkunan painamalla F4-näppäintä .

Ilmoita nyt muuttuja merkkijonona.

Luomatta aliproseduuria vba: ssa meidän on ilmoitettava muuttuja ja myös tällä kertaa sanalla "Public" eikä "Dim".

Nyt voimme käyttää tätä muuttujaa missä tahansa moduulissa ja luokkamoduulissa.

Siirry nyt tavalliseen moduuliin ja nimeä muuttuja.

Kun muuttuja on ilmoitettu, meidän on määritettävä tietotyyppi VBA: ssa, sen sijaan, että annamme tietotyypin, voimme vain antaa luokan moduulin nimen eli CM

Nyt muuttujaa “k” käyttämällä pääsee luokkamoduulissa määrittelemäämme julkiseen muuttujaan eli ”Oma arvo”.

Kuten voimme nähdä yllä olevasta kuvasta, se näyttää luokan moduulin muuttujan nimen vaihtoehdon määrittää arvo sille.

Näytä nyt määritetyn muuttujan arvo VBA-sanomaruudussa.

Koodi:

 Alaluokka_esimerkki () Hämärä k uutena CM k.MyValue = "Hei" MsgBox k.MyValue Loppu Sub 

Suorita tämä koodi käyttämällä F5-näppäintä tai manuaalisesti tuloksen näyttämiseksi.

Luokkamoduuli vs. objektit

Luokkamoduulin alkuvaiheessa kaikki sekoittuvat siihen, mikä on luokka ja mikä on esine.

Tämän ymmärtämiseksi muista aikaisempi esimerkki konekaaviosta. Ensimmäinen asia, joka meidän on tuotettava kone, on ensin suunniteltava kone ja sitten useita kopioita voidaan kopioida tällä mallilla.

Liitä tämä nyt luokkamoduuliin.

  • Tässä luokan moduuli on malli. Ja Object on Designin luoma kopio .
  • Vielä yksi mielenkiintoinen asia on, että meidän on käytettävä sanaa "uusi" luomaan objekti luokan moduulista.

Alla on esimerkki samasta.

Vielä yksi asia, kun käytämme sisäänrakennettuja esineitä, kuten laskentataulukoita, työkirjoja ja alueobjekteja, emme käytä sanaa "uusi"

Aloittaaksesi menettelyn luokan moduulilla, sinun on tiedettävä nämä perusasiat. Tulevissa artikkeleissa näemme seuraavan tason esimerkkejä.

Näyttää siltä, ​​että tätä on vaikea ymmärtää, mitä enemmän aikaa vietät luokan moduulilla, siihen tottuu.


$config[zx-auto] not found$config[zx-overlay] not found