Mikä on luokka VBA: ssa?
Luokka on suunnitelma luomista varten. Luokka itsessään ei tee mitään, mutta luokkien avulla voit luoda useita identtisiä objekteja, jotka voivat suorittaa toimintoja tai joita voidaan käyttää tietoresurssina.
Tosielämässä auton malli (muotoilu ja toiminnot) on luokka ja auto itse on kyseisen luokan kohde. Luokassa määritellään, mitä autossa on ja mitä se voi tehdä. Esimerkiksi autossa on 4 pyörää, 5 vaihdetta, ohjauspyörä jne. Nämä ovat ominaisuuksia/ominaisuuksia. Määrittelemme myös, mitä auto voi tehdä, kuten eteenpäin, taaksepäin, kääntyä jne. Nämä ovat autoluokan toimintoja. Autoluokalla luotu autoobjekti sisältää kaikki nämä ominaisuudet. Jos määrität auton, jossa on 5 pyörää, tällä luokalla valmistetulla autolla on 5 pyörää. Ymmärrät pointin.
Teoria riittää, katsotaan nyt, kuinka voit käyttää luokka -moduulia VBA: ssa.
Excel VBA -luokkamoduulin käyttäminen
Kun työskentelet VBA: ssa, sinun on käytettävä Range ("A1"). Select. Alue on ennalta määritetty luokka VBA: ssa. Valinta on yksi Range -luokan toiminnoista, jotka valitsevat määritetyn alueen. Samoin Debug on VBA -luokka ja tulostus ja väite ovat sen menetelmiä. Laskentataulukot, työkirjat, alue jne. Ovat kaikki VBA -luokkia, joita käytämme tilauksissamme.
Luo oma luokka
Ensinnäkin meidän on lisättävä luokkamoduuli VBA: han
Avaa Excel VBA -editori painamalla ALT+F11 -näppäinyhdistelmää.
-
- Napsauta hiiren kakkospainikkeella Project Exploreria. Siirrä kohdistin kohtaan Insert-> Class module. Klikkaa sitä. Sama voidaan tehdä Lisää -valikosta.
-
- Luokka lisätään kansioon "Luokka -moduuli". Oletusnimi on kuten luokka1, luokka2 ja niin edelleen. Voit muuttaa luokan nimen ominaisuusikkunasta. Anna luokallemme nimi "Tervetuloa".
- Luodaan nyt lisää joitakin ominaisuuksia luokallemme. Koska haluan näiden ominaisuuksien olevan yleisön saatavilla, minulla on käyttöä esteettömyysoperaattori julkinen.
Julkinen nimi merkkijono Julkinen var1 kokonaislukuna Julkinen var2 kokonaislukuna
- Lisätään nyt funktio tähän luokkaan. Haluan toiminnon, joka sanoo Hei! käyttäjälle. Tätä varten lisää alaosa ja nimeä se sanomalla HiTo.
Sub sayHiTo (user as String) name = user MsgBox ("Hei!" & Nimi) Loppuosa
- Käytämme nyt luokkaa moduulissa. Aseta uusi moduuli, jos sinulla ei ole sitä. Kirjoita sub. Olen nimittänyt alikokeeni Testiksi.
Alatesti () Dim wc Uutena Tervetulona 'Ilmoitettu ja alustettu Tervetuloa -objekti wc.sayHiTo ("Jack")' käytti sayHiTo -tervetulotoivotusmenetelmää. End Sub
- Suorita tämä alitesti F5 -näppäimellä. Se kysyy "Hei! Jack" Excel -työkirjassa.
Kuinka se toimii?
Vuonna Sub Test, olemme luoneet on objekti "wc" Tervetuloa luokka. Objekti luodaan VBA: ssa kahdella tavalla. suoritamme koodin, Test sub luo Tervetuloa -luokan objektin wc. Tällä objektilla on kaikki Welcome -luokan ominaisuudet. Käytämme Welcome -luokan sayHiTo -menetelmää tervehtimään käyttäjää.
Objektin luominen Excel VBA: ssa
-
- Välitön luominen
Pikaluomisessa luomme objektin samalla kun ilmoitamme objektin "uudella" avaimella. Yllä olevassa esimerkissämme olemme käyttäneet välitöntä luomista.
Dim wc Uusi Tervetuloa
2. Luomisen viivästyminen
Viivästetyssä luomisessa ilmoitamme ensin vain objektin. Emme käytä "uutta" avainsanaa. Jotta voisimme käyttää objektia, meidän on alustettava se "uusi" avainsanalla.
Alatesti () Dim wc Tervetuloa 'wc.sayHiTo ("Jack") "luo virheen, koska wc ei ole vielä alustettu" objektin alustaminen Aseta wc = New Welcome wc.sayHiTo ("Cory")' tämä toimii. End Sub
Luokan muuttujien käyttäminen
Yllä olevissa esimerkeissä olemme käyttäneet luokalle julkisia muuttujia, mutta käytäntö on väärin. Meidän pitäisi välttää julkisten muuttujien käyttöä luokassa. Nyt kysymys on siitä, miten pääsisimme luokan muuttujiin. Aiemmin käytimme aliohjelmaa nimen käyttämiseen, mutta VBA -luokat tarjoavat ominaisuuksia, joita käytetään luokan yksityisten muuttujien arvojen järjestelmälliseen päivittämiseen ja hakemiseen. Ominaisuudet ovat tyylikkäämpiä kuin ali tai toiminto yksityisten muuttujien päivittämiseen ja käyttämiseen. Katsotaanpa kuinka.
Luokan ominaisuuden syntaksi
Yksityinen nimi merkkijonona yksityinen var1 kokonaislukuna Yksityinen var2 kokonaislukuna Kiinteistövuokraus MyName (nm As String) name = nm End Property Kiinteistö Hanki MyName () Kuten merkkijono MyName = name End Property
Käytämme niitä moduulissa.
Alatesti () 'luokka -objektin luominen Dim wc Uutena Tervetuloa Dim wc1 Uutena Tervetuloa' käyttämällä ominaisuuksia wc.MyName = "Exceltip.com" wc1.MyName = "ExcelForum.com" Debug.Print wc.MyName Debug.Print wc1. MyName End Sub
Kun suoritat tämän testialueen, saat kaksi nimeä tulostettuna kahdelle "Welcome" -luokan kohteelle.
Kuinka ominaisuudet eroavat ali- ja funktioista
Huomaa yllä olevassa esimerkissä, että olemme käyttäneet MyName -ominaisuutta muuttujana. Alustimme "Nimi" -muuttujan arvon vain kirjoittamalla wc.MyName = "assdf". Tämä komentorivi kutsui ominaisuutta nimeltäOminaisuus Hae nimeni () merkkijonona. Emme välittäneet suluissa mitään arvoa kuten alussa.
Samoin "Name" -muuttujan arvojen tulostamiseen käytimme komentoaDebug.Print wc.MyName. Eikö se ole niin yksinkertaista kuin normaalin muuttujan alustus? Ainoa ero on, että voit tehdä paljonomaisuutta segmentti. Laitat tietojen validoinnin, laskennan, viestinnän jne. Ja käyttäjä näkee vain tuloksen.
Toinen ero on, että voimme käyttää kiinteistön samaa nimeä antaa ja saadaosa. Tämä helpottaa ja vähentää hämmennystä.
Joten kyllä kaverit, tämä oli yksinkertainen esimerkki Excel VBA: n luokkamoduulista. Tämä on vain jäävuoren huippu, tässä aiheessa on paljon mehua, jota tutkimme myöhemmissä artikkeleissa. Tutkimme kutakin niistä yksi kerrallaan helpoimmalla mahdollisella tavalla. Toivottavasti olin tarpeeksi selittävä saadakseni tämän ymmärtämään. Jos sinulla on epäilyksiä tästä aiheesta tai muista excel VBA -aiheista, mainitse se alla olevassa kommenttiosiossa.
Tuo moduuli tiedostosta Microsoft Excelin VBA: n avulla | Opi koko moduulin tuominen toisesta tiedostosta VBA: n avulla.
Luo uusi moduuli VBA: n avulla Microsoft Excelissä | Voit käyttää moduulia toisen mallin luomiseen VBA: ssa. Tämä voi auttaa minimoimaan ylimääräiset ylimääräiset työt.
Lisää menettely moduuliin käyttämällä VBA: ta Microsoft Excelissä | Voit lisätä menettelyjä moduuleihin automaattisesti käyttämällä tätä VBA -koodia.
Suosittuja artikkeleita:
50 Excel -pikanäppäintä tuottavuuden lisäämiseksi | Nopeuta tehtävääsi. Nämä 50 pikanäppäintä tekevät työskentelystäsi entistä nopeampaa Excelissä.
VLOOKUP -toiminto Excelissä | Tämä on yksi eniten käytetyistä ja suosituimmista Excel -toiminnoista, jota käytetään arvon etsimiseen eri alueilta ja arkeilta.
COUNTIF Excel 2016: ssa | Laske arvot olosuhteilla käyttämällä tätä hämmästyttävää toimintoa. Sinun ei tarvitse suodattaa tietojasi tietyn arvon laskemiseksi. Laskutoiminto on välttämätön kojelaudan valmistelemiseksi.
SUMIF -toiminnon käyttäminen Excelissä | Tämä on toinen kojelaudan olennainen toiminto. Tämä auttaa sinua laskemaan yhteen arvot tietyissä olosuhteissa.