Čo je to trieda vo VBA?
Trieda je návrhom objektu, ktorý sa má vytvoriť. Samotná trieda nerobí nič, ale pomocou tried môžete vytvoriť viacero identických objektov, ktoré môžu vykonávať operácie alebo ich možno použiť ako dátový zdroj.
V skutočnom živote je model (dizajn a funkčnosť) automobilu triedou a samotné auto je predmetom tejto triedy. V triede definujeme, čo má auto v sebe a čo dokáže. Napríklad auto má 4 kolesá, 5 rýchlostí, volant atď. Toto sú atribúty/vlastnosti. Definujeme tiež, čo môže auto robiť, napríklad pohyb dopredu, dozadu, otáčanie atď. Toto sú funkcie triedy automobilov. Objekt automobilu vytvorený pomocou triedy automobilov bude mať všetky tieto vlastnosti. Ak definujete auto, ktoré má 5 kolies, ako auto vytvorené pomocou tejto triedy bude mať 5 kolies. Pochopte pointu.
Dosť bolo teórie, teraz sa pozrime, ako môžete vo VBA používať modul triedy.
Použitie modulu triedy Excel VBA
Pri práci vo VBA ste museli použiť rozsah („A1“). Vyberte. Rozsah je vopred definovanou triedou vo VBA. Select je jednou z funkcií triedy Range, ktoré vyberajú určený rozsah. Podobne je Debug triedou vo VBA a jeho metódami sú print a assert. Pracovné listy, zošity, rozsah atď. Všetky sú triedy VBA, ktoré používame v našich podstránkach.
Vytvorte si vlastnú triedu
Najprv musíme do VBA pridať modul triedy
Stlačením kombinácie klávesov ALT+F11 otvoríte editor VBA programu Excel.
-
- Kliknite pravým tlačidlom myši na prieskumníka projektov. Presuňte kurzor na modul Vložiť-> Trieda. Kliknite naň. To isté môžete urobiť z ponuky Vložiť.
-
- Trieda bude pridaná do priečinka „Modul triedy“. Predvolený názov je ako trieda1, trieda2 atď. Názov triedy môžete zmeniť v okne vlastností. Pomenujme našu triedu „Vitajte“.
- Teraz vytvorme a pridajte do našej triedy niektoré atribúty. Keďže chcem, aby boli tieto atribúty dostupné verejnosti, používam operátor prístupnosti verejná.
Verejné meno ako reťazec Verejné var1 ako celé číslo Verejné var2 ako celé číslo
- Teraz do tejto triedy pridajme funkciu. Chcem funkciu, ktorá hovorí Ahoj! používateľovi. Ak to chcete urobiť, pridajte podnadpis a pomenujte ho Ahoj.
Sub sayHiTo (používateľ ako reťazec) meno = užívateľ MsgBox („Ahoj!“ & Meno) Koniec
- Teraz použijeme triedu v module. Ak nemáte, vložte nový modul. Napíšte sub. Pomenoval som svoj čiastkový test.
Drobný test () Dim wc ako nový Welcome 'Deklarovaný a inicializovaný uvítací objekt wc.sayHiTo ("Jack")' použil metódu sayHiTo uvítacieho objektu. Koniec pod
- Spustite tento čiastkový test pomocou klávesu F5. V zošite programu Excel sa zobrazí výzva „Ahoj! Jack“.
Ako to funguje?
V čiastkovom teste sme vytvorili objekt „wc“ z Vitajte trieda. Objekt je vo VBA vytvorený dvoma spôsobmi. spustíme kód, test sub vytvorí objekt wc triedy Welcome. Tento objekt má všetky vlastnosti triedy Welcome. Na pozdrav používateľovi používame metódu sayHiTo triedy Welcome.
Vytváranie objektov v programe Excel VBA
-
- Okamžitá tvorba
V Okamžitom vytvorení vytvoríme objekt, pričom ho deklarujeme pomocou kľúča „nový“. V našom príklade vyššie sme použili okamžitú tvorbu.
Dim wc ako nový Vitajte
2. Oneskorená tvorba
Pri oneskorenom vytváraní najskôr deklarujeme iba objekt. Nepoužívame kľúčové slovo „nové“. Aby sme mohli predmet používať, musíme ho inicializovať pomocou „nového“ kľúčového slova.
Vedľajší test () Dim wc As Welcome 'wc.sayHiTo ("Jack")' generuje chybu, pretože wc ešte nie je inicializované 'inicializácia objektu Set wc = New Welcome wc.sayHiTo ("Cory")' to bude fungovať. Koniec pod
Prístup k premenným triedy
Vo vyššie uvedených príkladoch sme pre triedu použili verejné premenné, ale je nesprávne cvičiť. Mali by sme sa vyhnúť používaniu verejných premenných v triede. Teraz je otázkou, ako by sme sa dostali k premenným triedy. Predtým sme na prístup k názvu používali podprogram, ale triedy VBA poskytujú vlastnosti, ktoré sa používajú na systematickú aktualizáciu a získavanie hodnôt súkromných premenných triedy. Vlastnosti sú elegantnejšie ako čiastkové alebo funkcie na aktualizáciu a prístup k súkromným premenným. Pozrime sa ako.
Syntax vlastnosti triedy
Súkromné meno ako reťazec Súkromné var1 ako celé číslo Súkromné var2 ako celé číslo Nehnuteľnosť Let MyName (nm As String) name = nm End Property Získanie majetku MyName () Ako reťazec MyName = názov Koncová vlastnosť
Použime ich v module.
Vedľajší test () 'vytváranie objektu triedy Dim wc ako nový Welcome Dim wc1 ako nový Welcome' pomocou vlastností wc.MyName = "Exceltip.com" wc1.MyName = "ExcelForum.com" Debug.Print wc.MyName Debug.Print wc1. MyName End Sub
Keď spustíte tento testovací sub, dostanete vytlačené dva názvy pre dva objekty triedy „Welcome“.
Ako sa vlastnosti líšia od čiastkových a funkcií
Vo vyššie uvedenom príklade si všimnite, že sme použili ako premennú vlastnosť MyName. Inicializovali sme hodnotu premennej "Name" iba napísaním wc.MyName = "assdf". Tento riadok volal vlastnosť tzvVlastníctvo Získať MyName () ako reťazec. V zátvorkách sme nepreniesli žiadnu hodnotu, ako na začiatku.
Podobne sme na vytlačenie hodnôt premennej „Názov“ použili príkazDebug.Print wc.MyName. Nie je to také jednoduché ako normálna inicializácia premennej? Jediným rozdielom je, že v nich môžete urobiť veľanehnuteľnosť segment. Vložíte validáciu údajov, výpočet, komunikáciu atď. A používateľ uvidí iba výsledok.
Ďalším rozdielom je, že na to môžeme použiť rovnaký názov vlastnosti nechaj a dostaťčasť. Vďaka tomu je to jednoduchšie a menej mätúce.
Takže áno, chlapci, toto bol jednoduchý príklad modulu triedy v programe Excel VBA. Toto je len špička ľadovca, v tejto téme je veľa šťavy, ktorú preskúmame v ďalších článkoch. Každý z nich preskúmame jeden po druhom tým najľahším možným spôsobom. Dúfam, že som bol dostatočne vysvetľujúci, aby ste to pochopili. Ak máte akékoľvek pochybnosti o tejto téme alebo akejkoľvek inej téme programu Excel VBA, uveďte to v sekcii komentárov nižšie.
Importujte modul zo súboru pomocou jazyka VBA v programe Microsoft Excel | Naučte sa importovať celý modul z iného súboru pomocou VBA.
Vytvorte nový modul pomocou VBA v programe Microsoft Excel | Pomocou modulu môžete vytvoriť ďalší model vo VBA. To vám môže pomôcť minimalizovať dodatočné režijné práce.
Pridajte postup k modulu pomocou jazyka VBA v programe Microsoft Excel | Na automatické pridanie procedúr k modulom použite tento kód VBA.
Populárne články:
50 skratiek programu Excel na zvýšenie produktivity | Vykonajte svoju úlohu rýchlejšie. Týchto 50 skratiek vám umožní pracovať ešte rýchlejšie v Exceli.
Funkcia VLOOKUP v programe Excel | Toto je jedna z najpoužívanejších a najobľúbenejších funkcií programu Excel, ktorá sa používa na vyhľadávanie hodnôt z rôznych rozsahov a hárkov.
COUNTIF v Exceli 2016 | Počítajte hodnoty s podmienkami pomocou tejto úžasnej funkcie. Na počítanie konkrétnej hodnoty nepotrebujete filtrovať svoje údaje. Funkcia Countif je potrebná na prípravu palubnej dosky.
Ako používať funkciu SUMIF v programe Excel | Toto je ďalšia zásadná funkcia palubnej dosky. To vám pomôže zhrnúť hodnoty za konkrétnych podmienok.