Kako stvoriti i koristiti module VBA klase? (Primjeri)

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 objekti iako je riječ o varijabli, to su mali programi. Tijekom pisanja koda obično pišemo u modulima. Osnovni moduli su mjesto na kojem pišemo kodove 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 korištenjem samog našeg redovnog modula.

Što je modul razreda?

Moduli klase omogućuju korisniku da kreira vlastiti objekt, baš kao što imamo ugrađene objekte u redovite module, kao što su „Radni listovi“, „Radne knjige“, „Raspon“ itd.

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, a pomoću ovog dijagrama strojeva možemo izgraditi mnogo takvih strojeva.

Na primjer, ako želite navesti razne marke strojeva kako biste naveli karakteristike različitih modela.

U stroju imamo naziv marke, serijski broj, snagu stroja, boju stroja, broj motora koji su u njega uključeni, vrstu motornog goriva itd. ... U tehničkom jeziku to se naziva "svojstvima".

S obzirom na svojstva stroja, možemo pokrenuti, isključiti, povećati brzinu motora, zaustaviti se itd. A oni se nazivaju "Metode".

Primjer

Ovaj predložak VBA razreda možete preuzeti ovdje - VBA predložak razreda

Krenimo s kotrljanjem lopte jer je čitati teorijski dio uvijek dosadno. Da biste umetnuli modul klase, idite na opciju umetanja u editoru visual basic.

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, a također i ovaj put koristeći 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 trebamo dodijeliti tip podataka u VBA, umjesto da dodijelimo tip podataka, možemo samo dati naziv modula klase, tj. CM

Sada pomoću varijable "k" možemo pristupiti javnoj varijabli koju smo definirali u modulu klase, tj. "Moja vrijednost".

Kao što vidimo na gornjoj slici, prikazuje mogućnost imena varijable iz modula klase da bi joj se dodijelila 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 kod pomoću tipke F5 ili ručno da biste prikazali rezultat.

Modul klase vs objekti

U početnoj fazi modula klase, svi se zbunjuju s onim što je klasa, a što objekt.

Da bismo to razumjeli, prisjetimo 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 to teško razumjeti, što ćete više vremena provoditi s modulom nastave, naviknut ćete se na njega.