Moduli klase Excel VBA
Kada koristimo VBA, koristimo svojstva i atribute definirane u VBA, ali što se događa kada želimo stvoriti vlastita svojstva i metode i atribute, to jest kada koristimo modul klase u VBA-u kako bismo ga mogli definirati korisnički, modul klase ima vlastiti skup kodova koje korisnik definira za funkcije, svojstva i objekte.
Moduli klase koriste se za stvaranje objekta. Kad kažemo stavke, iako je riječ o varijabli, to su mali programi. Dok pišemo kod, obično pišemo u modulima. Osnovni moduli su mjesto na kojem pišemo svoja načela za obavljanje posla. Korisnički obrazac koristimo i za izradu grafičkih korisničkih sučelja.

Ali ako pogledate gornju sliku, možete vidjeti "Razredni modul". Zasigurno znam da to niste dodirnuli dok niste pročitali ovaj post. Sigurno se pitate koji je to modul klase VBA kada se sav posao može obaviti pomoću samog našeg redovnog modula.
Što je modul razreda?
Moduli klase omogućuju korisniku da kreira svoj objekt, baš kao što imamo ugrađene stavke u standardne module, kao što su „Radni listovi“, „Radne bilježnice“, „Raspon“ i tako dalje.
Poput ovog pomoću modula klase, možemo stvoriti prilagođene objekte.
Razred ima izravan odnos s objektima. Na primjer, imate dijagram stroja za izradu stroja, ali imajte na umu da to još nije stroj i koristite ovaj dijagram stroja, a mi možemo napraviti mnogo takvih strojeva.
Na primjer, ako želite navesti razne marke strojeva da biste naveli karakteristike više modela.
U stroju imamo naziv marke, serijski broj, snagu stroja, boju uređaja, broj motora koji su u njega uključeni, vrstu motornog goriva itd. … Na tehničkom jeziku to se naziva "svojstvima".
Što se tiče svojstava stroja, možemo pokrenuti, isključiti, povećati brzinu motora, zaustaviti itd. I to se naziva "Metode".
Primjer
Krenimo s kotrljanjem lopte jer je čitati teorijski dio uvijek dosadno. Da biste umetnuli modul klase, idite na opciju umetanja u osnovni vizualni uređivač.

Sada možemo vidjeti modul klase kao dolje.

Ovo izgleda slično onom koji imamo gore kao redoviti modul. Promijenite ime modula klase u prozoru svojstava. Da biste vidjeli prozor svojstava, pritisnite tipku F4 .

Sada deklarirajte varijablu kao niz.

Bez stvaranja potprocedure u VBA, trebamo deklarirati varijablu i upotrijebiti riječ "Public", a ne "Dim".
Sada ovoj varijabli možemo pristupiti u bilo kojem modulu i modulu klase.
Sada idite na redoviti modul i imenujte varijablu.

Nakon deklariranja varijable, moramo dodijeliti tip podataka u VBA; umjesto postavljanja tipa podataka, možemo dati ime modula klase, tj. CM.

Korištenjem varijable "k" možemo pristupiti javnoj varijabli koju smo definirali u modulu klase, tj. "Moja vrijednost".

Kao što možemo vidjeti na gornjoj slici, prikazuje mogućnost imena varijable iz modula klase da joj se dodijeli vrijednost.

Sada u okviru VBA poruke prikažite vrijednost dodijeljene varijable.
Kodirati:
Podrazred_Primjer () Dim k kao novi CM k.MyValue = "Pozdrav" MsgBox k.MyValue Kraj Sub

Pokrenite ovaj kôd pomoću tipke F5 ili ručno za prikaz rezultata.

Razredni modul nasuprot objektima
U početnoj fazi modula klase svi se zbunjuju s onim što je klasa i što je objekt.
Da biste to razumjeli, prisjetite se našeg ranijeg primjera dijagrama stroja. Prvo što trebamo proizvesti stroj je da prvo moramo dizajnirati stroj, a zatim se nekoliko kopija može preslikati tim dizajnom.
Sada to povežite s našim modulom klase.
- Ovdje Klasa modula je dizajn. A Object je kopija koju je stvorio Dizajn.
- Još jedna zanimljivost je da trebamo upotrijebiti riječ "novo" da bismo stvorili objekt iz modula klase.
Ispod je primjer istog.

Još jedna stvar kada koristimo ugrađene objekte poput radnih listova, radnih knjiga i objekata raspona, ne koristimo riječ "novo".
Da biste započeli postupak s nastavnim modulom, ove osnovne stvari koje biste trebali znati. U sljedećim člancima vidjet ćemo primjere sljedeće razine.
Čini se da je teško to razumjeti; što više vremena provodite s nastavnim modulom, naviknut ćete se na njega.