Modul klase Excel VBA
VBA klasa omogućuje nam stvaranje vlastite funkcije Objekta u koju možemo dodati bilo kakve značajke, detalje naredbenog retka, vrstu funkcije. Kada u VBA stvorimo Class, oni djeluju kao potpuno neovisna objektna funkcija, ali svi su povezani zajedno.
To nam pomaže u izradi aplikacija poput onih koje su već u VBA i Excelu. Primjerice, okreće se kotačić s ciklusom pedaliranja. I pedale i kotači dijelovi su ciklusa, ali obje djeluju neovisno dajući izlaz kao pokretni ciklus.

Kako stvoriti prilagođenu klasu i objekte u VBA?
Razmotrimo primjer mobilnih telefona 3 različite tvrtke, a to su Apple, Samsung i Nokia, s obzirom na popularne i novo pokrenute mobitele tih tvrtki, kao što su iPhone X, Samsung S8 i Nokia 7+.
Usporedit ćemo neke važne značajke ovih mobilnih telefona, kao što su marka, model, veličina zaslona, vrsta kamere i tip punjača. To su u osnovi važne značajke na toj osnovi. Uglavnom uspoređujemo bilo koji mobitel. Ispod smo mapirali gore raspravljene parametre u grafikonu.

U prozoru VBA na izborniku Umetanje odaberite modul razreda, kao što je prikazano dolje.

Dobit ćemo prozor modula Class koji započinje s Option Explicit, kao što je prikazano u nastavku.

Izričita opcija osigurava da se varijable moraju deklarirati prije nego što se koriste. Ako ne prijavimo nijednu varijablu i ne upotrijebimo je, tada će sustav izbaciti pogrešku. Sada u klasi definirajte sve raspravljene parametre mjerenja mobilnih telefona s javnošću . To će učiniti te definirane parametre otvorenima za uporabu bilo kada i bilo gdje, bez ikakvih ograničenja.
Kodirati:
Opcija Izričito 'Popis svojstava Javna marka kao niz Javni model kao niz Javni zaslonVeličina kao niz Javna kameraTip kao niz Javni punjačTip kao niz

Sada ćemo dodati drugačiji postupak rada, značajke i funkcije mobilnog telefona, poput pokretanja telefona, isključivanja telefona, reprodukcije glazbe, punjenja baterije itd. S potkategorijom za svaku funkciju kao što je prikazano u nastavku. I dodajte okvir s porukom u svaku petlju potkategorije kako bismo mogli vidjeti koje su metode trenutno pokrenute.
Kodirati:
'Moguće tehnike Sub MobileStarts () MsgBox "Mobile se uključuje" End Sub
Sub MobileOff () MsgBox "Mobitel se isključuje" Kraj Sub
Sub PlayMusic () MsgBox "Audio sustav trenutno radi" Kraj Sub
Sub BatteryCharge () MsgBox "Punjač je trenutno priključen" Kraj Sub

Time je dovršeno stvaranje Klase. Prije nego što krenemo dalje, savjetuje se promjena naziva modula klase. Odaberite bilo koje ime prema vašem zahtjevu jer ga mijenjamo u Mobile .

Sada ćemo napisati kod u modul gdje ćemo vidjeti i usporediti značajke i funkcije svake marke mobitela. Da bismo to učinili, trebamo dodati modul tako što ćemo otići tamo ispod izbornika Umetni kao što je prikazano.

Dobit ćemo novi modul otvoren s omogućenom eksplicitnom opcijom u ovome dok radimo i stvaramo klasu. Sada počnite pisati potkategoriju u ime izvršenih funkcija kao što je prikazano dolje.

Ime modula možemo promijeniti kao i za Class. To nam pomaže zadržati identitet povezanog stvorenog VBA koda. To se može učiniti iz prozora svojstava, kao što je prikazano u nastavku.

Već smo definirali razne značajke, funkcije i metode svih mobilnih telefona marke. Ajmo sada definirati 3 varijable u bilo kojem imenu (po mogućnosti u nazivu marke mobitela) i dodijeliti ga Mobile. Krenimo prvo s iPhoneom, kao što je prikazano u nastavku.

Slično tome, učinite isto za ostatak marke mobitela, kao što je prikazano u nastavku.

Ovim dodijeljujemo stvorenu klasu svakoj dimenzijskoj varijabli marke Mobile. Sada za svaku marku učinite isti postupak dodjele razreda .
Sada moramo dodijeliti sve značajke mobitela i njegovu vrijednost. Za to upotrijebite funkciju Postavi i dodijelite je Novom mobitelu, kao što je prikazano u nastavku.

Sada otvorite With-End petlju za iPhone. Tu ćemo definirati svaki atribut mobitela.

Kao što vidimo, svim definiranim značajkama marke iPhone iz Klase dodijelili smo String.
Učinite isto za Samsung i Nokia marku.

Sada ćemo koristiti DebugPrint za ispis podataka na neposrednom prozoru. Korisno je tamo gdje želimo vidjeti određenu varijablu u retku koda. Za svaku ćemo marku Mobile odabrati različite značajke, kao što je prikazano u nastavku.

Sada dodijeliti MobileStarts i MobileOff funkcionalne operacije, koja se definirane u klasi na svakom mobilnom marki u istom modulu uz okvir s porukom. Ovdje možete preskočiti okvir za poruke.

Ovim je dovršeno dodjeljivanje klase modulu. Sada prevedite kôd i pokrenite pomoću tipke F5. Vidjet ćemo poruku svake mobilne marke, kao što je prikazano u nastavku.

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.
- Za testiranje možete koristiti manje tehnike ili funkcije u stvaranju razreda. To se kasnije može izmijeniti kada želimo dodati više funkcija i tehnika proizvoda.
- Uvijek razmotrite slične ili iste značajke kada završimo s predavanjem i dodijelimo ga modulu. To će nam pomoći u usporedbi značajki različitih proizvoda.