Moduli VBA klase i kako ih koristiti

Anonim

Što je klasa u VBA?

Klasa je nacrt za objekt koji treba stvoriti. Sama klasa ne radi ništa, ali pomoću klasa možete stvoriti više identičnih objekata koji mogu izvoditi operacije ili se mogu koristiti kao izvor podataka.

U stvarnom životu model (dizajn i funkcionalnosti) automobila je klasa, a sam automobil objekt te klase. U razredu definiramo što automobil ima u sebi i što može učiniti. Na primjer, automobil ima 4 kotača, 5 stupnjeva prijenosa, upravljač itd. To su atributi/svojstva. Također definiramo što automobil može učiniti, poput kretanja naprijed, natrag, okretanja itd. To su funkcije klase automobila. Auto objekt izrađen pomoću klase automobila imat će sva ta svojstva. Ako definirate automobil koji ima 5 kotača, automobil napravljen pomoću ove klase imat će 5 kotača. Shvaćaš poantu.

Dosta je bilo teorije, a sada da vidimo kako možete koristiti modul klase u VBA -i.

Korištenje modula klase Excel VBA

Dok ste radili u VBA -i, morate koristiti Range ("A1"). Select. Raspon je unaprijed definirana klasa u VBA-i. Odabir je jedna od funkcija klase Range koja odabire navedeni raspon. Slično, Debug je klasa u VBA -i, a metode ispisa i potvrde su. Radni listovi, radne knjige, raspon itd. Sve su to VBA klase koje koristimo u svojim pretplatnicima.

Napravite vlastiti razred

Prvo, moramo dodati modul klase u VBA

Pritisnite kombinaciju tipki ALT+F11 za otvaranje programa Excel VBA editor.

    • Desnom tipkom miša kliknite istraživač projekata. Pomaknite kursor na Umetni-> Modul klase. Kliknite na nju. Ista se stvar može učiniti s izbornika Umetanje.

    • Klasa će biti dodana u mapu "Modul klase". Zadani naziv je poput class1, class2 itd. Naziv klase možete promijeniti u prozoru svojstava. Nazovimo naš razred "Dobro došli".

  • Sada stvorimo dodajmo neke atribute u naš razred. Budući da želim da ti atributi budu dostupni javnosti, imam koristi operater pristupačnosti javnost.
    Javni naziv Kao niz Javni var1 Kao cijeli broj Javni var2 Kao cijeli broj 
  • Sada dodajmo funkciju ovoj klasi. Želim funkciju koja kaže Hi! korisniku. Da biste to učinili, dodajte podnaslov i dajte mu ime sayHiTo.
    Sub sayHiTo (user As String) name = user MsgBox ("Hi!" & Name) Kraj pod 
  • Koristimo sada klasu u modulu. Umetnite novi modul ako ga nemate. Napišite podlogu. Nazvao sam svoj pod Test.
    Pod test () Dim wc kao nova dobrodošlica 'Deklariran i inicijaliziran objekt dobrodošlice wc.sayHiTo ("Jack")' koristi sayHiTo metodu objekta dobrodošlice. Kraj podm 
  • Pokrenite ovaj podtest pomoću tipke F5. Pojavit će se poruka "Bok! Jack" u radnoj knjizi programa Excel.

Kako radi?

U podtestu smo stvorili objekt "wc" od Dobrodošli razred. Objekt se stvara u VBA na dvije metode. pokrećemo kôd, Test sub stvara objekt wc klase Welcome. Ovaj objekt ima sva svojstva klase Welcome. Koristimo sayHiTo metodu klase Welcome da pozdravimo korisnika.

Izrada objekata u Excelu VBA

    1. Trenutno stvaranje

U trenutačnom stvaranju stvaramo objekt dok ga objekt deklariramo s "novim" ključem. U gornjem primjeru koristili smo trenutno stvaranje.

Dim wc Kao nova dobrodošlica

2. Odgođeno stvaranje
U odgođenom stvaranju prvo deklariramo samo objekt. Ne koristimo ključnu riječ "novo". Da bismo mogli koristiti objekt, moramo ga inicijalizirati ključnom riječi "new".

Pod test () Dim wc Kao dobrodošao 'wc.sayHiTo ("Jack")' generira pogrešku budući da wc još nije inicijaliziran 'objekt za inicijalizaciju Set wc = New Welcome wc.sayHiTo ("Cory")' ovo će uspjeti. Kraj podm 

Pristup varijablama klase

U gornjim primjerima koristili smo javne varijable za klasu, ali to je pogrešno u praksi. Trebali bismo izbjegavati korištenje javnih varijabli u klasi. Sada je pitanje kako bismo pristupili varijablama klase. Ranije smo koristili potprogram za pristup imenu, ali VBA klase pružaju svojstva koja se koriste za sustavno ažuriranje i dohvaćanje vrijednosti privatnih varijabli klase. Svojstva su elegantnija od pod ili funkcije za ažuriranje i pristup privatnim varijablama. Da vidimo kako.

Sintaksa svojstva klase

Privatno ime Kao String Privatno var1 Kao cijeli broj Privatno var2 Kao cijeli broj Nekretnina Let Moje ime (nm kao niz) naziv = nm Krajnje svojstvo Nekretnine Get MyName () Kao String MyName = ime Krajnje svojstvo 

Koristimo ih u modulu.

Pod test () 'stvaranje objekta klase Dim wc kao nova dobrodošlica Dim wc1 kao nova dobrodošlica' pomoću svojstava wc.MyName = "Exceltip.com" wc1.MyName = "ExcelForum.com" Ispisivanje wc.MyName Debug.Print wc1. MyName End Sub 

Kada pokrenete ovu testnu podlogu, dobit ćete ispisana dva imena za dva objekta klase "Dobrodošli".

Kako se svojstva razlikuju od pod -funkcija i funkcija

U gornjem primjeru primijetite da smo svojstvo MyName koristili kao varijablu. Vrijednost varijable "Name" inicijalizirali smo samo pisanjem wc.MyName = "assdf". Ova naredbena linija naziva svojstvo tzvSvojstvo Dohvati MyName () kao niz. Nismo prenijeli nikakvu vrijednost u zagradi kao na početku.

Slično, za ispis vrijednosti varijable "Name" koristili smo naredbuIspravljanje ispisa wc.Moje ime. Nije li tako jednostavno kao inicijalizacija normalne varijable? Jedina je razlika u tome što možete puno učiniti uimovine segment. Stavili ste validaciju podataka, izračun, komunikaciju itd. I korisnik će vidjeti samo rezultat.

Druga je razlika što možemo koristiti isti naziv svojstva za neka i dobitidio. Time je lakše i manje zbunjujuće.

Pa da, dečki, ovo je bio jednostavan primjer razrednog modula u Excelu VBA. Ovo je samo vrh ledenog brijega, u ovoj temi ima puno soka koji ćemo istražiti u kasnijim člancima. Svaku ćemo od njih istražiti jednu po jednu na najjednostavniji mogući način. Nadam se da sam vam objasnio dovoljno da ovo shvatite. Ako imate bilo kakvih sumnji u vezi s ovom temom ili bilo kojom drugom excel VBA temom, navedite to u odjeljku komentara u nastavku.

Uvezite modul iz datoteke pomoću VBA u programu Microsoft Excel | Saznajte kako uvesti cijeli modul iz druge datoteke pomoću VBA.

Izradite novi modul pomoću VBA u programu Microsoft Excel | Možete koristiti modul za stvaranje drugog modela u VBA. To vam može pomoći da minimizirate dodatne režijske radove.

Dodajte postupak modulu pomoću VBA u programu Microsoft Excel | Za automatsko dodavanje postupaka u module koristite ovaj VBA kôd.

Popularni članci:

50 Excel prečaca za povećanje vaše produktivnosti | Budite brži u izvršavanju svojih zadataka. Ovih 50 prečaca učinit će da radite još brže na Excelu.

Funkcija VLOOKUP u Excelu | Ovo je jedna od najčešće korištenih i popularnih funkcija programa Excel koja se koristi za traženje vrijednosti iz različitih raspona i listova.

COUNTIF u Excelu 2016 | Brojte vrijednosti s uvjetima pomoću ove nevjerojatne funkcije. Ne morate filtrirati svoje podatke da biste računali određenu vrijednost. Funkcija Countif bitna je za pripremu vaše nadzorne ploče.

Kako koristiti funkciju SUMIF u Excelu | Ovo je još jedna bitna funkcija nadzorne ploče. To vam pomaže pri zbrajanju vrijednosti u posebnim uvjetima.