Predmeti Excel VBA se nanašajo na posamezne "entitete", sestavljene iz kode in podatkov. Sama aplikacija Excel je predmet, prav tako delovni zvezki, delovni listi, obsegi celic in oblike. Vsak predmet ima povezane lastnosti in metode. Predmeti lahko vsebujejo tudi druge predmete, predmet zbirk pa se uporablja za sklicevanje na skupino istih predmetov Excel.
V tej vadnici si bomo ogledali nekaj pogosto uporabljenih predmetov Excel.
Objekt aplikacije
Predmet aplikacije se nanaša na celotno aplikacijo Excel. Objekt Application vsebuje predmet delovnega zvezka.
Naslednja koda uporablja lastnost WindowState predmeta Application za nastavitev okna Excel na največjo razpoložljivo velikost:
12345 | Sub MaximizingTheExcelWindow ()Application.WindowState = xlMaximizedEnd Sub |
Objekt delovnih zvezkov
Objekt Delovni zvezki se nanaša na zbirko vseh trenutno odprtih Excelovih delovnih zvezkov.
Naslednja koda uporablja metodo Workbooks.Add za ustvarjanje novega delovnega zvezka in ga doda v zbirko:
12345 | Sub AddingANewWorkbookToTheWorkbooksCollection ()Delovni zvezki.DodajEnd Sub |
Do posameznega delovnega zvezka v zbirki Delovni zvezki lahko dostopate prek njegove številke indeksa ali imena. Tako bi se lahko z delovnimi zvezki (»ExcelWB«) sklicevali na delovni zvezek, imenovan ExcelWb.
Objekt delovnega zvezka
Objekt delovnega zvezka je del zbirke Delovni zvezki. Objekt delovnega zvezka vsebuje zbirko delovnih listov (delovni listi) in zbirko listov (delovni listi, listi z grafikoni in makro listi). Objekt ActiveWorkbook se nanaša na aktivni delovni zvezek.
Naslednja koda uporablja metodo ActiveWorkbook.Save za shranjevanje trenutnega aktivnega delovnega zvezka:
12345 | Sub SavingTheWorkbook ()ActiveWorkbook.SaveEnd Sub |
Predmeti listov
Predmet listov se nanaša na zbirko vseh delovnih listov, listov grafikonov in makroslojev v delovnem zvezku. Naslednja koda uporablja metodo Sheets.Add za dodajanje novega delovnega lista ExtraSheet po zadnjem delovnem listu v delovnem zvezku:
123456 | SubAddingANewSheet ()ActiveWorkbook.Sheets.Add (After: = ActiveWorkbook.Worksheets (Worksheets.Count), Count: = 1, _Type: = xlWorksheet) .Name = "ExtraSheet"End Sub |
Upoštevajte skladnjo metode Sheets.Add je:
Listi. Dodaj (Prej, Po, Preštej, Vrsta) kje:
-Pred je neobvezen in določa, da je treba nov list dodati pred obstoječi list.
-Pozneje je neobvezno in določa, da je treba nov list dodati po obstoječem listu.
-Count je neobvezen in določa število listov za dodajanje.
-Tip je neobvezen in določa vrsto lista. xlWorksheet bi dodal nov delovni list, xlChart bi dodal nov list grafikona, xlExcel4MacroSheet ali xlExcel4IntlMacroSheet pa bi dodala nov makro list. Če je prazno, se uporabi privzeti delovni list xl.
Do posameznega lista v zbirki Preglednice lahko dostopate prek njegove številke indeksa ali imena. Tako se lahko s pomočjo Sheets (»SheetOne«) obrnete na delovni list, imenovan SheetOne.
Objekt delovnih listov
Objekt Delovni listi se nanaša na zbirko vseh delovnih listov v delovnem zvezku. Naslednja koda uporablja metodo Worksheets.Add za dodajanje novega delovnega lista:
12345 | SubAddingANewSheet ()Delovni listi.DodajEnd Sub |
Do posameznega lista v zbirki Delovni listi lahko dostopate prek njegove številke indeksa ali imena. Tako se lahko z delovnimi listi (»SheetTwo«) obrnete na delovni list, imenovan SheetTwo.
Objekt delovnega lista
Objekt delovnega lista je del zbirke Delovni listi. Objekt delovnega lista vsebuje predmet obsega in druge predmete. Objekt ActiveSheet se nanaša na list, ki je aktiven.
Naslednja koda spremeni usmerjenost strani aktivnega lista v ležečo:
12345 | Sub ChangingOrientationToLandscape ()ActiveSheet.PageSetup.Orientation = xlLandscapeEnd Sub |
Upoštevajte, da predmet Sheet vsebuje predmet PageSetup in da je njegova orientacijska lastnost nastavljena na xlLandscape.
Objekt obsega
Objekt Range se lahko sklicuje na eno celico ali niz celic na delovnem listu. Naslednja koda vam prikazuje, kako z metodo Range.Select izberite celice A1: B1:
12345 | PodizbiranjeARange ()Razpon ("A1: B1"). IzberiteEnd Sub |
Oblike predmeta
Objekt Shapes se nanaša na zbirko vseh oblik na delovnem listu. Naslednja koda bi izbrala vse oblike na listu ActiveSheet:
12345 | Podizbiranje vseh oblik ()ActiveSheet.Shapes.SelectAllEnd Sub |
Predmet oblike
Objekt Shape je del zbirke Shapes. Naslednja koda bi ustvarila zaokroženo obliko pravokotnika in nato nastavila lastnost imena predmeta oblike:
123456789 | Pod UporabaTheShapeObject ()Z delovnimi listi (1). Oblike.AddShape (msoShapeRoundedRectangle, _200, 100, 80, 80).Name = "Zaokrožen pravokotnik"Končaj sEnd Sub |
Objektni model Excel VBA
Excelov model predmetov VBA opisuje hierarhijo vseh predmetov, ki jih lahko uporabljate v Excelu. Na primer, lahko uporabite predmet Delovni zvezki, če se posredno ali neposredno sklicujete na vse druge predmete. Naslednja koda prikazuje, kako izbrati celico A1 s hierarhično strukturo:
12345 | Sub UsingTheHierachicalStructure ()Delovni zvezki ("Knjiga1"). Delovni listi ("List1"). Obseg ("A1"). IzberiteEnd Sub |
Razglasitev in dodelitev spremenljivke objekta
Objekt lahko spremenljivki razglasite in dodelite z uporabo ključnih besed Dim in Set.
Na primer:
12 | Zatemni ws kot delovni listNastavite ws = ActiveWorkbook.ActiveSheet |
Naslednja koda prikazuje, kako razglasiti in dodeliti objekt Range spremenljivki:
12345678910111213141516 | Pododreditev podporeARangeToAVariable ()Dim rngOne As ObjectNastavi rngOne = Obseg ("A1: C1")rngOne.Font.Bold = ResZ rngOne.Font.Bold = Res.Font.Name = "Calibri".Font.Size = 9.Brsta pisave = RGB (35, 78, 125).Notranja barva = RGB (205, 224, 180).Mere (xlEdgeBottom) .LineStyle = xlNeprekinjenoKončaj sEnd Sub |
Rezultat je:
Bistveno je razumeti, kako predmeti delujejo za obvladovanje VBA. Več lahko izveste z našo interaktivno vadnico VBA.