VBA objektai

Turinys

„Excel VBA“ objektai reiškia atskirus „objektus“, sudarytus iš kodo ir duomenų. Pati „Excel“ programa yra objektas, kaip ir darbaknygės, darbalapiai, langelių diapazonai ir formos. Kiekvienas objektas turi susijusių savybių ir metodų. Objektuose taip pat gali būti kitų objektų, o kolekcijų objektas naudojamas nurodant tų pačių „Excel“ objektų grupę.

Šioje pamokoje apžvelgsime kai kuriuos dažniausiai naudojamus „Excel“ objektus.

Taikymo objektas

Programos objektas nurodo visą „Excel“ programą. Programos objekte yra darbaknygės objektas.

Šis kodas naudoja „Application“ objekto „WindowState“ ypatybę, kad „Excel“ langas būtų nustatytas iki didžiausio galimo dydžio:

12345 Papildomas „TheExcelWindow“ ()Application.WindowState = xlMaximizedPabaiga Sub

Darbo knygų objektas

Objektas „Darbaknygės“ reiškia visų šiuo metu atidarytų „Excel“ darbaknygių rinkinį.

Šis kodas naudoja darbaknyges. Pridėti metodą, kad sukurtumėte naują darbaknygę ir pridėtumėte ją prie kolekcijos:

12345 Pridėti naują darbo knygą į darbo knygas kolekcija ()Darbaknygės. PridėtiPabaiga Sub

Galite pasiekti atskirą darbaknygių kolekciją darbaknygėse naudodami jos rodyklės numerį arba pavadinimą. Taigi, naudodami darbaknyges („ExcelWB“), galite kreiptis į darbaknygę, vadinamą „ExcelWb“.

Darbo knygos objektas

Darbaknygės objektas yra darbaknygių kolekcijos dalis. Darbaknygės objekte yra darbalapių kolekcija (darbalapiai) ir lapų kolekcija (darbalapiai, diagramų lapai ir makrolapai). „ActiveWorkbook“ objektas nurodo aktyvią darbaknygę.

Šis kodas naudoja ActiveWorkbook.Save metodą, kad išsaugotumėte dabartinę aktyvią darbaknygę:

12345 Darbo knygos išsaugojimas ()ActiveWorkbook.SavePabaiga Sub

Lakštų objektas

Lakštų objektas reiškia visų darbaknygių, diagramų lapų ir makrolapų, esančių darbo knygoje, rinkimą. Šis kodas naudoja „Sheets.Add“ metodą, kad po paskutinio darbaknygės darbalapio pridėtumėte naują darbalapį, pavadintą „ExtraSheet“:

123456 Sub AddingNewSheet ()„ActiveWorkbook.Sheets.Add“ (po: = „ActiveWorkbook.Worksheets“ („Worksheets.Count“), skaičius: = 1, _Tipas: = xlWorksheet) .Name = "ExtraSheet"Pabaiga Sub

Atkreipkite dėmesį į skaičiuoklių sintaksę. Pridėjimo metodas yra:
Lakštai. Pridėti (Prieš, Po, Grafas, Tipas) kur:

-Prieš tai yra neprivaloma ir nurodo, kad naujas lapas turi būti pridėtas prieš esamą lapą.

-After yra neprivalomas ir nurodo, kad naujas lapas turi būti pridėtas po esamo lapo.

-Skaičius yra neprivalomas ir nurodo, kiek lapų pridėti.

-Type yra neprivalomas ir nurodo lapo tipą. „xlWorksheet“ pridėtų naują darbalapį, „xlChart“ pridėtų naują diagramos lapą, o „xlExcel4MacroSheet“ arba „xlExcel4IntlMacroSheet“ pridėtų naują makrolapą. Jei tuščias, naudojamas numatytasis „xlWorksheet“ lapas.

Galite pasiekti atskirą „Sheets“ kolekcijos lapą naudodami jo indekso numerį arba pavadinimą. Taigi galite naudoti darbalapį, pavadintą „SheetOne“, naudodami „Sheets“ („SheetOne“).

Darbo lapų objektas

Objektas „Darblapiai“ reiškia visų darbaknygėje esančių darbalapių rinkinį. Šis kodas naudoja darbalapius. Pridėti metodą, kad pridėtumėte naują darbalapį:

12345 Sub AddingNewSheet ()Darbo lapai. PridėtiPabaiga Sub

Galite pasiekti atskirą darbalapių kolekcijos lapą naudodami jo indekso numerį arba pavadinimą. Taigi galite naudoti darbalapį, pavadintą „SheetTwo“, naudodami darbalapius („SheetTwo“).

Darbo lapo objektas

Skaičiuoklės objektas yra darbalapių kolekcijos dalis. Skaičiuoklės objekte yra diapazono objektas ir kiti objektai. „ActiveSheet“ objektas nurodo aktyvų lapą.

Šis kodas pakeičia aktyvaus lapo puslapio orientaciją į kraštovaizdį:

12345 Sub ChangingOrientationToLandscape ()ActiveSheet.PageSetup.Orientation = xlLandscapePabaiga Sub

Atminkite, kad „Sheet“ objekte yra „PageSetup“ objektas, o jo orientacijos ypatybė nustatyta kaip „xlLandscape“.

Diapazono objektas

Diapazono objektas gali nurodyti vieną langelį arba langelių rinkinį darbalapyje. Šis kodas parodo, kaip naudoti diapazoną. Pasirinkite langelių A1: B1 pasirinkimo metodą:

12345 Pasirenkamas ARange ()Diapazonas („A1: B1“). PasirinkitePabaiga Sub

Formos objektas

Objektas „Formos“ reiškia visų formų rinkinį darbalapyje. Šis kodas pasirinktų visas „ActiveSheet“ formas:

12345 Antrinis pasirinkimasAllTheShapes ()ActiveSheet.Shapes.SelectAllPabaiga Sub

Formos objektas

„Shape Object“ yra kolekcijos „Shapes“ dalis. Šis kodas sukurtų suapvalintą stačiakampio formą ir nustatytų formos objekto pavadinimo ypatybę:

123456789 Sub, naudojant „TheShapeObject“ ()Su darbalapiais (1). Shapes.AddShape (msoShapeRoundedRectangle, _200, 100, 80, 80).Name = "Suapvalintas stačiakampis"Pabaiga suPabaiga Sub

„Excel VBA“ objekto modelis

„Excel“ VBA objektų modelis apibūdina visų objektų, kuriuos galite naudoti „Excel“, hierarchiją. Pvz., Galite naudoti objektą „Darbaknygės“, kad netiesiogiai arba tiesiogiai nurodytumėte visus kitus objektus. Šis kodas parodo, kaip pasirinkti langelį A1, naudojant hierarchinę struktūrą:

12345 Naudojant „TheHierachicalStructure“ ()Darbaknygės („1 knyga“). Darbo lapai („1 lapas“). Diapazonas („A1“). PasirinkitePabaiga Sub

Objekto kintamojo deklaravimas ir priskyrimas

Galite deklaruoti ir priskirti objektą kintamajam naudodami raktinius žodžius „Dim“ ir „Set“.

Pavyzdžiui:

12 Pritemdyti ws kaip darbalapįNustatykite ws = ActiveWorkbook.ActiveSheet

Šis kodas parodo, kaip deklaruoti ir priskirti diapazono objektą kintamajam:

12345678910111213141516 Papildomas priskyrimasARangeToAVariable ()Dim rngOne kaip objektasNustatyti rngOne = Diapazonas („A1: C1“)rngOne.Font.Bold = TiesaSu rngOne.Font.Bold = Tiesa.Font.Name = "Kalibris".Šriftas.Dydis = 9.Font.Color = RGB (35, 78, 125). Interjeras. Spalva = RGB (205, 224, 180).Borders (xlEdgeBottom) .LineStyle = xlContinuousPabaiga suPabaiga Sub

Rezultatas yra toks:

Norint suprasti VBA, būtina suprasti, kaip veikia objektai. Galite sužinoti daugiau naudodamiesi mūsų interaktyvia VBA pamoka.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave