Excel VBA -luokan moduuli
VBA-luokan avulla voimme luoda oman Object-toiminnon, johon voimme lisätä minkä tahansa ominaisuuksia, komentorivin yksityiskohdat, toiminnon tyypin. Kun luomme luokan VBA: ssa, ne toimivat kuin täysin itsenäinen objektitoiminto, mutta ne kaikki ovat yhteydessä toisiinsa.
Tämä auttaa meitä rakentamaan sellaisia sovelluksia, jotka ovat jo olemassa VBA: ssa ja Excelissä. Esimerkiksi polkemisen pyörä pyörii. Molemmat polkimet ja pyörät ovat syklin osia, mutta molemmat toimivat itsenäisesti antaakseen tuotoksen liikkuvaksi sykliksi.

Kuinka luoda mukautettuja luokkia ja esineitä VBA: ssa?
Tarkastellaan esimerkkiä 3 eri yrityksen matkapuhelimesta, jotka ovat Apple, Samsung ja Nokia, ottaen huomioon näiden yritysten suositut ja uudet matkapuhelimet, jotka ovat iPhone X, Samsung S8 ja Nokia 7+.
Vertailemme joitain näiden matkapuhelinten tärkeitä ominaisuuksia, kuten merkki, malli, näytön koko, kameran tyyppi ja laturin tyyppi. Nämä ovat pohjimmiltaan tärkeitä ominaisuuksia. Vertaamme enimmäkseen mitä tahansa matkapuhelinta. Alla olemme kartoittaneet yllä mainitut parametrit kaavioon.

Valitse Lisää- valikosta VBA-ikkunasta Luokkamoduuli alla olevan kuvan mukaisesti.

Saamme Luokkamoduuli-ikkunan, joka alkaa Option Explicitilla, kuten alla on esitetty.

Vaihtoehto Explicit varmistaa, että muuttujat on ilmoitettava ennen niiden käyttöä. Jos emme ilmoita mitään muuttujaa ja käytä sitä, järjestelmä heittää virheen. Määritä nyt luokassa, määritä kaikki matkapuhelinten yleiset mittausparametrit . Tämä tekee määritellyistä parametreista avoimia käyttää missä ja milloin tahansa, ilman rajoituksia.
Koodi:
Vaihtoehto Täsmällinen 'Luettelo ominaisuuksista Julkinen brändi merkkijonona Julkinen malli merkkijonona Julkinen näyttökoko Koko merkkijonona Julkinen kamera Tyyppi kuin merkkijono Julkinen laturi

Nyt lisätään erilainen matkapuhelimen käyttöprosessi, ominaisuudet ja toiminnot, kuten puhelimen käynnistäminen, puhelimen sammuttaminen, musiikin soittaminen, akun lataaminen jne. Alaryhmällä jokaiselle toiminnolle alla olevan kuvan mukaisesti. Ja lisää viestiruutu jokaiseen alaluokkasilmukkaan, jotta voimme nähdä, mitkä menetelmät ovat parhaillaan käynnissä.
Koodi:
'Mahdolliset tekniikat Sub MobileStarts () MsgBox "Mobile is Turning On" End Sub
Sub MobileOff () MsgBox "Matkapuhelin sammuu" End Sub
Sub PlayMusic () MsgBox "Äänentoistojärjestelmä toimii parhaillaan" End Sub
Sub BatteryCharge () MsgBox "Laturi on tällä hetkellä kytkettynä" End Sub

Tämä viimeistelee luokan luomisen. Ennen kuin siirrymme eteenpäin, on suositeltavaa vaihtaa luokan moduulin nimi. Valitse mikä tahansa nimi vaatimuksesi mukaan, kun muutamme sen mobiiliksi .

Nyt kirjoitamme koodin moduuliin, jossa näemme ja vertaamme kunkin matkapuhelinmerkin ominaisuuksia ja toimintoja. Tätä varten meidän on lisättävä moduuli menemällä sinne Lisää-valikossa alla olevan kuvan mukaisesti.

Saamme uuden moduulin, jossa Option Explicit on otettu käyttöön, kun työskentelemme ja luomme luokkaa. Aloita nyt alaluokan kirjoittaminen suoritettujen toimintojen nimiin alla esitetyllä tavalla.

Voimme muuttaa moduulin nimen samoin kuin teimme luokassa. Tämä auttaa meitä pitämään luodun VBA-koodin samanaikaisen identiteetin. Tämä voidaan tehdä ominaisuusikkunoista, kuten alla on esitetty.

Olemme jo määrittäneet kaikkien brändin matkapuhelimien eri ominaisuudet, toiminnot ja menetelmät. Määritetään nyt 3 muuttujaa missä tahansa nimessä (mieluiten matkapuhelimen tuotemerkin nimessä) ja määritetään se Mobile: lle. Aloitetaan ensin iPhonesta, kuten alla on esitetty.

Tee samalla tavoin muu matkapuhelinbrändi, kuten alla on esitetty.

Tällä tavoin määritämme luodun luokan jokaiselle Mobile-tuotemerkin ulottuvuusmuuttujalle. Nyt kunkin tuotemerkin, tehdä saman prosessin määrittämällä luokan .
Nyt meidän on määritettävä kaikki matkapuhelimen ominaisuudet ja sen arvo. Käytä tätä varten Set- toimintoa ja määritä se uudelle matkapuhelimelle alla olevan kuvan mukaisesti.

Avaa nyt With-End-silmukka iPhonelle. Tässä määritämme kukin matkapuhelimen määritteet.

Kuten näemme, olemme määrittäneet kaikki luokan iPhone määritellyt ominaisuudet tietyillä arvoilla merkkijonoksi.
Tee sama asia myös Samsungille ja Nokia-tuotemerkille.

Nyt käytämme DebugPrint tulostaa tiedot välittömästi ikkunan. Se on hyödyllinen, jos haluamme nähdä tietyn muuttujan koodirivillä. Valitsemme eri ominaisuudet kullekin Mobile-tuotemerkille alla olevan kuvan mukaisesti.

Määritä nyt luokassa määritellyt MobileStarts- ja MobileOff- toiminnot kullekin saman moduulin mobiilimerkille yhdessä Viestikentän kanssa. Voit ohittaa viestiruudun tässä.

Tämä viimeistelee luokan osoittamisen moduulille. Käännä nyt koodi ja suorita F5-näppäimellä. Näemme jokaisen mobiilimerkin viestin, kuten alla on esitetty.

Now, if you want to know what variables and functions have what kind of values in it, for that open the Local window from the view tab, which will help us getting the details when we compile the code as shown below.

The below code is for your Reference.
Code:
Sub VBA_Class() Dim iPhone As Mobile Dim Samsung As Mobile Dim Nokia As Mobile Set iPhone = New Mobile With iPhone .Brand = "iPhone" .Model = "iPhone X" .ScreenSize = "6.5 Inches" .CameraType = "12 MegaPixel" .ChargerType = "Regular" End With Set Samsung = New Mobile With Samsung .Brand = "Samsung" .Model = "Samsung S8" .ScreenSize = "5.8 Inches" .CameraType = "12 MegaPixel" .ChargerType = "Power" End With Set Nokia = New Mobile With Nokia .Brand = "Nokia" .Model = "Nokia 7+" .ScreenSize = "6 Inches" .CameraType = "12 MegaPixel" .ChargerType = "Power" End With Debug.Print "Phone Screen Size is: " & iPhone.ScreenSize Debug.Print "Camera of Samsung is: " & Samsung.CameraType Debug.Print "Charger Type is: " & Nokia.ChargerType iPhone.MobileStarts iPhone.MobileOff MsgBox iPhone.Model Samsung.MobileStarts Samsung.MobileOff MsgBox Samsung.Model Nokia.MobileStarts Nokia.MobileOff MsgBox Nokia.Model End Sub
Pros
- We can build our own application with a lot of features.
- Once Class is created, we can update any feature, anytime whenever we require.
- If we update the code, then also it won’t cause any problem in other parts of the Class.
- We can test the individual part of the application as per our needs.
Cons
- Initially, it takes a lot of time to create a class in VBA.
- People who are new to VBA will find the class very difficult to apply.
Things to Remember
- As the code can be huge and big, so it’s better to compile the code step-by-step. By doing this, we would avoid the N number of errors, which will be difficult for us to debug and resolve.
- We can ignore the use of Message Box if you are taking and testing the above-written code.
- Testauksessa voit käyttää vähemmän tekniikoita tai toimintoja luokan luomisessa. Tätä voidaan muokata myöhemmin, kun haluamme lisätä lisää tuotetoimintoja ja tekniikoita.
- Harkitse aina samankaltaisia tai samoja ominaisuuksia, kun lopetamme luokan ja annamme sen moduulille. Tämä auttaa meitä vertaamaan eri tuotteiden ominaisuuksia.