Excel VBA objekti attiecas uz atsevišķām “entītijām”, kas sastāv no koda un datiem. Programma Excel pati par sevi ir objekts, tāpat kā darbgrāmatas, darblapas, šūnu diapazoni un formas. Katram objektam ir saistītas īpašības un metodes. Objekti var saturēt arī citus objektus, un kolekciju objekts tiek izmantots, lai atsauktos uz to pašu Excel objektu grupu.
Šajā apmācībā mēs aplūkosim dažus bieži lietotus Excel objektus.
Lietojumprogrammas objekts
Lietojumprogrammas objekts attiecas uz visu Excel lietojumprogrammu. Lietojumprogrammas objektā ir darbgrāmatas objekts.
Tālāk norādītais kods izmanto lietojumprogrammas objekta rekvizītu WindowState, lai iestatītu Excel logam maksimālo pieejamo izmēru:
12345 | ApakšpalielināšanaTheExcelWindow ()Application.WindowState = xlMaximizedBeigu apakš |
Darbgrāmatu objekts
Objekts Darbgrāmatas attiecas uz visu pašlaik atvērto Excel darbgrāmatu kolekciju.
Šis kods izmanto darbgrāmatas. Pievienot metodi, lai izveidotu jaunu darbgrāmatu un pievienotu to kolekcijai:
12345 | Apakšdaļa PievienošanaJauna darba grāmataDarbgrāmatas. PievienotBeigu apakš |
Jūs varat piekļūt darbgrāmatu kolekcijas atsevišķai darbgrāmatai, izmantojot tās indeksa numuru vai nosaukumu. Tātad jūs varētu atsaukties uz darbgrāmatu ar nosaukumu ExcelWb, izmantojot darbgrāmatas (“ExcelWB”).
Darbgrāmatas objekts
Darbgrāmatas objekts ir daļa no darbgrāmatu kolekcijas. Darbgrāmatas objektā ir darblapu kolekcija (darblapas) un lapu kolekcija (darblapas, diagrammu lapas un makro lapas). ActiveWorkbook objekts attiecas uz darbgrāmatu, kas ir aktīva.
Šis kods izmanto ActiveWorkbook.Save metodi, lai saglabātu pašreizējo aktīvo darbgrāmatu:
12345 | ApakšsaudzēšanaTheWorkbook ()ActiveWorkbook.SaveBeigu apakš |
Loksnes objekts
Lapu objekts attiecas uz visu darbgrāmatu, diagrammu lapu un makro lapu apkopošanu darbgrāmatā. Šis kods izmanto metodi Sheets.Add, lai pēc pēdējās darbgrāmatas darblapas pievienotu jaunu darblapu ar nosaukumu ExtraSheet:
123456 | Sub AddingANewSheet ()ActiveWorkbook.Sheets.Add (Pēc: = ActiveWorkbook.Worksheets (Worksheets.Count), skaits: = 1, _Tips: = xlWorksheet) .Name = "ExtraSheet"Beigu apakš |
Ievērojiet izklājlapu sintaksi. Pievienošanas metode ir šāda:
Izklājlapas. Pievienot (Pirms, Pēc, Skaits, Tips) kur:
-Pirms nav obligāta un norāda, ka jaunā lapa jāpievieno pirms esošās lapas.
-After nav obligāts un norāda, ka jaunā lapa jāpievieno aiz esošās lapas.
-Skaitīšana nav obligāta un norāda pievienojamo lapu skaitu.
-Type nav obligāts un norāda lapas veidu. xlWorksheet pievienotu jaunu darblapu, xlChart pievienotu jaunu diagrammas lapu, un xlExcel4MacroSheet vai xlExcel4IntlMacroSheet pievienotu jaunu makro lapu. Ja tukšs, tiek izmantota noklusējuma xlWorksheet.
Izklājlapu kolekcijā varat piekļūt atsevišķai lapai, izmantojot tās indeksa numuru vai nosaukumu. Tātad jūs varētu atsaukties uz darblapu ar nosaukumu SheetOne, izmantojot Sheets (“SheetOne”).
Darblapas objekts
Objekts Darblapas attiecas uz visu darbgrāmatas darblapu apkopojumu. Šis kods izmanto darblapas. Pievienot metodi jaunas darblapas pievienošanai:
12345 | Sub AddingANewSheet ()Darblapas. PievienotBeigu apakš |
Jūs varat piekļūt atsevišķai darblapu kolekcijas lapai, izmantojot tās indeksa numuru vai nosaukumu. Tātad jūs varētu atsaukties uz darblapu ar nosaukumu SheetTwo, izmantojot darblapas (“SheetTwo”).
Darblapas objekts
Darblapas objekts ir daļa no darblapu kolekcijas. Darblapas objektā ir diapazona objekts un citi objekti. ActiveSheet objekts attiecas uz lapu, kas ir aktīva.
Šis kods maina aktīvās lapas lapas orientāciju uz ainavu:
12345 | ApakšmainaOrientationToLandscape ()ActiveSheet.PageSetup.Orientation = xlLandscapeBeigu apakš |
Ņemiet vērā, ka Sheet objektā ir objekts PageSetup, un tā orientācijas rekvizīts ir iestatīts uz xlLandscape.
Diapazona objekts
Diapazona objekts var atsaukties uz vienu šūnu vai šūnu kopu darblapā. Šis kods parāda, kā izmantot diapazonu. Atlasiet metodi, lai atlasītu šūnas A1: B1:
12345 | ApakšatlasīšanaARange ()Diapazons ("A1: B1"). AtlasietBeigu apakš |
Formas Objekts
Objekts Shapes attiecas uz visu darblapā esošo formu kolekciju. Šis kods atlasītu visas ActiveSheet formas:
12345 | ApakšatlasīšanaAllTheShapes ()ActiveSheet.Shapes.SelectAllBeigu apakš |
Formas objekts
Shape Object ir daļa no Shapes kolekcijas. Šis kods izveidotu noapaļotu taisnstūra formu un pēc tam iestatītu formas objekta nosaukuma rekvizītu:
123456789 | Sub, izmantojotTheShapeObject ()Ar darblapām (1). Shapes.AddShape (msoShapeRoundedRectangle, _200, 100, 80, 80).Name = "Noapaļots taisnstūris"Beigt arBeigu apakš |
Excel VBA objekta modelis
Excel VBA objektu modelis apraksta visu to objektu hierarhiju, kurus varat izmantot programmā Excel. Piemēram, varat izmantot objektu Darbgrāmatas, lai netieši vai tieši atsauktos uz visiem citiem objektiem. Šis kods parāda, kā atlasīt šūnu A1, izmantojot hierarhisko struktūru:
12345 | Sub, izmantojot TheHierachicalStructure ()Darbgrāmatas ("1. grāmata"). Darblapas ("1. lapa"). Diapazons ("A1"). AtlasietBeigu apakš |
Objekta mainīgā deklarēšana un piešķiršana
Jūs varat deklarēt un piešķirt mainīgajam objektu, izmantojot atslēgvārdus Dim un Set.
Piemēram:
12 | Dim ws kā darblapuIestatiet ws = ActiveWorkbook.ActiveSheet |
Šis kods parāda, kā deklarēt un piešķirt mainīgajam objektu Range:
12345678910111213141516 | Apakšpunkta piešķiršanaARangeToAVariable ()Dim rngOne kā objektsIestatīt rngOne = Diapazons ("A1: C1")rngOne.Font.Bold = PatiesaAr rngOne.Fonts. Bold = Patiess.Font.Name = "Kalibri". Fonts. Izmērs = 9. Fonts. Krāsa = RGB (35, 78, 125).Interjers.Krāsa = RGB (205, 224, 180).Borders (xlEdgeBottom) .LineStyle = xlContinuousBeigt arBeigu apakš |
Rezultāts ir šāds:
Lai apgūtu VBA, ir svarīgi saprast, kā darbojas objekti. Jūs varat uzzināt vairāk, izmantojot mūsu interaktīvo VBA apmācību.