Moduli razreda VBA in kako jih uporabljati

Anonim

Kaj je razred v VBA?

Razred je načrt za ustvarjanje predmeta. Razred sam ne stori nič drugega, vendar z uporabo razredov lahko ustvarite več enakih predmetov, ki lahko izvajajo operacije ali pa jih lahko uporabite kot podatkovni vir.

V resničnem življenju je model (zasnova in funkcionalnosti) avtomobila razreda, avto pa je predmet tega razreda. V razredu določimo, kaj ima avto v sebi in kaj zmore. Na primer, avto ima 4 kolesa, 5 prestav, volan itd. To so lastnosti/lastnosti. Določimo tudi, kaj zmore avto, na primer premikanje naprej, nazaj, zavijanje itd. To so funkcije razreda avtomobilov. Avtomobilski objekt, ustvarjen z uporabo razreda avtomobilov, bo imel vse te lastnosti. Če določite avto, ki ima 5 koles, bo imel avtomobil, ustvarjen s tem razredom, 5 koles. Razumete bistvo.

Dovolj teorije, zdaj pa poglejmo, kako lahko uporabite razredni modul v VBA.

Uporaba modula razreda Excel VBA

Med delom v VBA ste morali uporabljati obseg ("A1"). Izberite. Razpon je vnaprej določen razred v VBA. Izbira je ena od funkcij razreda Range, ki izberejo določeno območje. Podobno je Debug razred v VBA, njegove metode pa sta tiskanje in uveljavljanje. Delovni listi, delovni zvezki, obseg itd. So vsi razredi VBA, ki jih uporabljamo v podplatih.

Ustvarite svoj razred

Najprej moramo dodati razredni modul v VBA

Pritisnite kombinacijo tipk ALT+F11, da odprete urejevalnik Excel VBA.

    • Z desno miškino tipko kliknite raziskovalca projektov. Premaknite kazalec na Vstavi-> Modul razreda. Kliknite nanjo. Enako lahko storite v meniju Vstavi.

    • Razred bo dodan v mapo "Modul razreda". Privzeto ime je class1, class2 itd. Ime okna lahko spremenite v oknu lastnosti. Naj naš razred poimenuje "Dobrodošli".

  • Zdaj pa ustvarimo, dodajmo nekaj atributov v naš razred. Ker želim, da bi bili ti atributi dostopni javnosti, sem jih uporabil operater dostopa javno.
    Javno ime As String Public var1 As Integer Public var2 As Integer 
  • Zdaj pa temu razredu dodajmo funkcijo. Želim funkcijo, ki pravi Hi! uporabniku. Če želite to narediti, dodajte podnapis in ga poimenujte sayHiTo.
    Sub sayHiTo (user As String) name = user MsgBox ("Hi!" & Name) End Sub 
  • Zdaj pa uporabimo razred v modulu. Vstavite nov modul, če ga nimate. Napiši podmen. Imenoval sem svoj pod Test.
    Pod test () Zatemni wc kot novo dobrodošlico 'Deklariran in inicializiran objekt dobrodošlice wc.sayHiTo ("Jack")' je uporabil sayHiTo metodo dobrodošlice. End Sub 
  • Zaženite ta podtest s tipko F5. V Excelovem delovnem zvezku se prikaže poziv "Hi! Jack".

Kako deluje?

V podtestu, ki smo ga ustvarili, je objekt "wc" Dobrodošli razred. Objekt je ustvarjen v VBA na dva načina. zaženemo kodo, Test sub ustvari objekt wc razreda Welcome. Ta objekt ima vse lastnosti razreda Welcome. Uporabljamo metodo sayHiTo razreda Welcome, da uporabnika pozdravimo.

Ustvarjanje predmetov v Excelu VBA

    1. Takojšnje ustvarjanje

Pri takojšnjem ustvarjanju ustvarimo objekt, medtem ko ga razglašamo s tipko "new". V zgornjem primeru smo uporabili takojšnje ustvarjanje.

Dim wc kot nova dobrodošlica

2. Zakasnjeno ustvarjanje
Pri zapoznelem ustvarjanju najprej razglasimo samo objekt. Ne uporabljamo "nove" ključne besede. Za uporabo predmeta ga moramo inicializirati s ključno besedo "new".

Pod test () Dim wc Kot dobrodošel 'wc.sayHiTo ("Jack")' generira napako, ker wc še ni inicializiran "inicializacijski objekt Set wc = New Welcome wc.sayHiTo (" Cory ") 'to bo delovalo. End Sub 

Dostop do spremenljivk razreda

V zgornjih primerih smo za razred uporabili javne spremenljivke, vendar je to napačno. Izogibati se moramo uporabi javnih spremenljivk v razredu. Zdaj je vprašanje, kako bi dostopali do spremenljivk razreda. Prej smo za dostop do imena uporabljali podprogram, vendar razredi VBA ponujajo lastnosti, ki se uporabljajo za sistematično posodabljanje in pridobivanje vrednosti zasebnih spremenljivk razreda. Lastnosti so bolj elegantne kot pod -funkcije ali funkcije za posodabljanje in dostop do zasebnih spremenljivk. Poglejmo, kako.

Sintaksa lastnosti razreda

Zasebno ime Kot niz Zasebno var1 Kot celo število Zasebno var2 kot celo število Lastnost Let Ime mojega imena (nm kot niz) = nm Končna lastnost Pridobite nepremičnino MyName () As String MyName = ime Lastnost konca 

Uporabimo jih v modulu.

Pod test () 'ustvarjanje predmeta razreda Dim wc kot nova dobrodošlica Dim wc1 kot nova dobrodošlica' z lastnostmi wc.MyName = "Exceltip.com" wc1.MyName = "ExcelForum.com" Debug.Print wc.MyName Debug.Print wc1. MyName End Sub 

Ko zaženete ta testni podmen, boste natisnili dve imeni za dva predmeta razreda "Dobrodošli".

Kako se lastnosti razlikujejo od pod in funkcij

V zgornjem primeru opazite, da smo lastnost MyName uporabili kot spremenljivko. Vrednost spremenljivke "Name" smo inicializirali samo s pisanjem wc.MyName = "assdf". Ta ukazna vrstica se imenuje lastnostLastnost Pridobite MyName () kot niz. V oklepajih nismo podali nobene vrednosti kot na začetku.

Podobno smo za tiskanje vrednosti spremenljivke "Name" uporabili ukazOdpravljanje napak Natisni wc.Moje ime. Ali ni tako preprosto kot inicializacija običajne spremenljivke? Edina razlika je v tem, da lahko vlastnine segment. Vnesete preverjanje podatkov, izračun, komunikacijo itd. In uporabnik bo videl le rezultat.

Druga razlika je v tem, da lahko uporabimo isto ime nepremičnine pustiti in dobitidel. Tako je lažje in manj zmedeno.

Torej, fantje, to je bil preprost primer modula razreda v Excelu VBA. To je le vrh ledene gore, v tej temi je veliko soka, ki ga bomo raziskali v kasnejših člankih. Vsakega izmed njih bomo na najlažji način raziskali enega za drugim. Upam, da sem bil dovolj razložen, da ste to razumeli. Če dvomite o tej temi ali kateri koli drugi temi Excel VBA, jo omenite v spodnjem razdelku za komentarje.

Uvozite modul iz datoteke z uporabo VBA v programu Microsoft Excel | Naučite se uvoziti celoten modul iz druge datoteke z uporabo VBA.

Ustvarite nov modul z uporabo VBA v programu Microsoft Excel | Z modulom lahko ustvarite drug model v VBA. To vam lahko pomaga zmanjšati dodatno režijsko delo.

Dodajte postopek modulu z uporabo VBA v programu Microsoft Excel | Za samodejno dodajanje postopkov v module uporabite to kodo VBA.

Priljubljeni članki:

50 bližnjic v Excelu za povečanje produktivnosti | Poskrbite, da bo vaša naloga hitrejša. S temi 50 bližnjicami boste še hitreje delali v Excelu.

Funkcija VLOOKUP v Excelu | To je ena najpogosteje uporabljenih in priljubljenih funkcij programa Excel, ki se uporablja za iskanje vrednosti iz različnih obsegov in listov.

COUNTIF v Excelu 2016 | Štejte vrednosti s pogoji s to neverjetno funkcijo. Za štetje določene vrednosti vam ni treba filtrirati podatkov. Funkcija Countif je bistvena za pripravo vaše armaturne plošče.

Kako uporabljati funkcijo SUMIF v Excelu | To je še ena bistvena funkcija armaturne plošče. To vam pomaga povzeti vrednosti za posebne pogoje.