Objekty Excel VBA odkazujú na jediné „entity“ tvorené kódom a údajmi. Samotná aplikácia Excel je objekt, rovnako ako zošity, pracovné hárky, rozsahy buniek a tvary. Každý objekt má priradené vlastnosti a metódy. Objekty môžu obsahovať aj iné objekty a objekt zbierky sa používa na označenie skupiny rovnakých objektov programu Excel.
V tomto návode sa pozrieme na niektoré bežne používané objekty programu Excel.
Objekt aplikácie
Objekt aplikácie sa vzťahuje na celú aplikáciu Excel. Objekt Application obsahuje objekt zošita.
Nasledujúci kód používa vlastnosť WindowState objektu Application na nastavenie okna programu Excel na maximálnu dostupnú veľkosť:
12345 | Sub maximalizáciaTheExcelWindow ()Application.WindowState = xlMaximizedKoniec pod |
Objekt zošitov
Objekt zošity sa týka zbierky všetkých aktuálne otvorených zošitov programu Excel.
Nasledujúci kód používa metódu Workbooks.Add na vytvorenie nového zošita a jeho pridanie do zbierky:
12345 | Doplňujúce pridanieANewWorkbookToTheWorkbooksCollection ()Zošity. PridaťKoniec pod |
K jednotlivému zošitu v kolekcii zošity môžete pristupovať pomocou jeho indexového čísla alebo názvu. Môžete sa teda obrátiť na zošit s názvom ExcelWb pomocou zošitov („ExcelWB“).
Objekt zošita
Objekt zošita je súčasťou zbierky Zošity. Objekt zošita obsahuje kolekciu pracovných hárkov (pracovné hárky) a kolekciu hárkov (pracovné hárky, hárky grafov a makrá). Objekt ActiveWorkbook odkazuje na aktívny zošit.
Nasledujúci kód používa metódu ActiveWorkbook.Save na uloženie aktuálneho aktívneho zošita:
12345 | Vedľajšia úspora Pracovná kniha ()ActiveWorkbook.SaveKoniec pod |
Listy Objekt
Objekt hárky odkazuje na zbierku všetkých pracovných hárkov, hárkov grafov a makier v zošite. Nasledujúci kód používa metódu Sheets.Add na pridanie nového pracovného hárka s názvom ExtraSheet za posledný pracovný hárok v zošite:
123456 | SubaddingANewSheet ()ActiveWorkbook.Sheets.Add (Po: = ActiveWorkbook.Worksheets (Worksheets.Count), Count: = 1, _Typ: = xlWorksheet) .Name = "ExtraSheet"Koniec pod |
Všimnite si syntaxe metódy Sheets.Add je:
Sheets.Add (Predtým, Po, Gróf, Napíšte) kde:
-Predtým je voliteľné a určuje, že nový hárok by mal byť pridaný pred existujúci hárok.
-After je voliteľné a určuje, že nový hárok by mal byť pridaný za existujúci hárok.
-Počet je voliteľný a určuje počet hárkov, ktoré sa majú pridať.
-Typ je voliteľný a určuje typ listu. xlWorksheet by pridal nový pracovný hárok, xlChart by pridal nový hárok grafu a xlExcel4MacroSheet alebo xlExcel4IntlMacroSheet by pridal nový list s makrami. Ak je pole prázdne, použije sa predvolený hárok xlWorksheet.
K jednotlivému hárku v kolekcii Tabuliek máte prístup pomocou jeho indexového čísla alebo názvu. Môžete sa teda obrátiť na pracovný hárok s názvom SheetOne pomocou Tabuliek („SheetOne“).
Pracovné listy Objekt
Objekt Listy odkazuje na zbierku všetkých pracovných listov v zošite. Nasledujúci kód používa metódu Worksheets.Add na pridanie nového pracovného hárka:
12345 | SubaddingANewSheet ()Pracovné listy. PridaťKoniec pod |
K jednotlivému hárku v kolekcii pracovných hárkov môžete pristupovať pomocou jeho indexového čísla alebo názvu. Môžete sa teda obrátiť na pracovný list s názvom SheetTwo pomocou pracovných listov („SheetTwo“).
Objekt pracovného hárka
Objekt pracovného hárka je súčasťou zbierky Pracovné listy. Objekt pracovného hárka obsahuje objekt rozsahu a ďalšie objekty. Objekt ActiveSheet odkazuje na list, ktorý je aktívny.
Nasledujúci kód mení orientáciu strany aktívneho hárka na šírku:
12345 | Vedľajšia zmenaOrientationToLandscape ()ActiveSheet.PageSetup.Orientation = xLLandscapeKoniec pod |
Objekt Sheet obsahuje objekt PageSetup a jeho orientačná vlastnosť je nastavená na xlLandscape.
Objekt dosahu
Objekt Rozsah môže odkazovať na jednu bunku alebo skupinu buniek v pracovnom hárku. Nasledujúci kód ukazuje, ako použiť metódu Range.Select na výber buniek A1: B1:
12345 | Podvýber Rozsah ()Rozsah („A1: B1“). VyberteKoniec pod |
Objekt tvarov
Objekt Tvary odkazuje na zhromažďovanie všetkých tvarov v pracovnom hárku. Nasledujúci kód by vybral všetky tvary na ActiveSheete:
12345 | Vedľajší výber Všetky tvary ()ActiveSheet.Shapes.SelectAllKoniec pod |
Objekt tvaru
Objekt Shape je súčasťou zbierky Shapes. Nasledujúci kód by vytvoril zaoblený tvar obdĺžnika a potom nastavil vlastnosť názvu objektu shape:
123456789 | Sub usingTheShapeObject ()S pracovnými listami (1) .Shapes.AddShape (msoShapeRoundedRectangle, _200, 100, 80, 80).Name = "Zaoblený obdĺžnik"Ukončiť sKoniec pod |
Objektový model Excel VBA
Objektový model VBA programu Excel popisuje hierarchiu všetkých objektov, ktoré môžete v programe Excel použiť. Objekt zošitov môžete napríklad použiť na odkazovanie na všetky ostatné objekty nepriamo alebo priamo. Nasledujúci kód ukazuje, ako vybrať bunku A1 pomocou hierarchickej štruktúry:
12345 | Vedľajšie použitieHierachicalStructure ()Zošity („Kniha1“). Pracovné listy („List1“). Rozsah („A1“). VyberteKoniec pod |
Deklarovanie a priradenie premennej objektu
Objekt môžete deklarovať a priradiť k premennej pomocou kľúčových slov Dim a Set.
Napríklad:
12 | Dim ws ako pracovný listNastaviť ws = ActiveWorkbook.ActiveSheet |
Nasledujúci kód ukazuje, ako deklarovať a priradiť objekt Range k premennej:
12345678910111213141516 | Sub AssigningARangeToAVariable ()Dim rngOne ako objektNastaviť rngOne = rozsah ("A1: C1")rngOne.Font.Bold = TrueS rngOne.Font.Bold = Pravda.Font.Name = "Calibri".Font.Size = 9.Font.Color = RGB (35, 78, 125).Interior.Color = RGB (205, 224, 180).Hranice (xlEdgeBottom) .LineStyle = xlSpojitéUkončiť sKoniec pod |
Výsledkom je:
Je dôležité pochopiť, ako objekty fungujú na zvládnutie VBA. Môžete sa dozvedieť viac s naším interaktívnym návodom pre VBA.