Predmeti VBA

Kazalo

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.

wave wave wave wave wave