Obiecte VBA

Cuprins

Obiectele Excel VBA se referă la „entități” unice formate din cod și date. Aplicația Excel în sine este un obiect, la fel ca registrele de lucru, foile de lucru, intervalele de celule și formele. Fiecare obiect are proprietăți și metode asociate. Obiectele pot conține și alte obiecte, iar obiectul colecțiilor este utilizat pentru a se referi la un grup din aceleași obiecte Excel.

În acest tutorial, vom analiza câteva obiecte Excel utilizate în mod obișnuit.

Obiectul aplicației

Obiectul aplicației se referă la întreaga aplicație Excel. Obiectul Aplicație conține obiectul registrului de lucru.

Următorul cod folosește proprietatea WindowState a obiectului Aplicație pentru a seta fereastra Excel la dimensiunea maximă disponibilă:

12345 Sub MaximizingTheExcelWindow ()Application.WindowState = xlMaximizedSfârșitul Sub

Obiecte Cărți de lucru

Obiectul Cărți de lucru se referă la colecția tuturor registrelor de lucru Excel deschise în prezent.

Următorul cod folosește metoda Workbooks.Add pentru a crea un nou registru de lucru și a-l adăuga la colecție:

12345 Sub Adăugare ANewWorkbookToTheWorkbooksCollection ()Cărți de lucru.AdăugareSfârșitul Sub

Puteți accesa un registru de lucru individual în colecția Cărți de lucru prin numărul de index sau numele acestuia. Așadar, puteți face referire la un registru de lucru numit ExcelWb, utilizând cărți de lucru („ExcelWB”).

Obiect de registru de lucru

Obiectul caietului de lucru face parte din colecția Cărți de lucru. Obiectul registrului de lucru conține colecția de foi de lucru (foi de lucru) și colecția de foi (foi de lucru, foi de diagrame și macro-foi). Obiectul ActiveWorkbook se referă la registrul de lucru activ.

Următorul cod folosește metoda ActiveWorkbook.Save pentru a salva registrul de lucru activ curent:

12345 Sub SavingTheWorkbook ()ActiveWorkbook.SaveSfârșitul Sub

Obiecte Foi

Obiectul foi se referă la colecția tuturor foilor de lucru, a foilor de diagrame și a macro-foilor dintr-un registru de lucru. Următorul cod folosește metoda Sheets.Add pentru a adăuga o nouă foaie de lucru numită ExtraSheet, după ultima foaie de lucru din registrul de lucru:

123456 Sub AdăugareFoaie nouă ()ActiveWorkbook.Sheets.Add (After: = ActiveWorkbook.Worksheets (Worksheets.Count), Count: = 1, _Tip: = xlWorksheet) .Name = "ExtraSheet"Sfârșitul Sub

Rețineți că sintaxa metodei Sheets.Add este:
Sheets.Add (Inainte de, După, Numara, Tip) Unde:

-Înainte este opțional și specifică faptul că noua foaie ar trebui adăugată înainte de o foaie existentă.

-After este opțional și specifică că noua foaie ar trebui adăugată după o foaie existentă.

-Count este opțional și specifică numărul de foi de adăugat.

-Type este opțional și specifică tipul de foaie. xlWorksheet ar adăuga o nouă foaie de lucru, xlChart ar adăuga o nouă foaie de diagramă, iar xlExcel4MacroSheet sau xlExcel4IntlMacroSheet ar adăuga o nouă foaie de lucru. Dacă este gol, se folosește foaia de lucru xl implicită.

Puteți accesa o foaie individuală din colecția Foi de calcul prin intermediul numărului de index sau al numelui său. Așadar, puteți face referire la o foaie de lucru numită SheetOne, utilizând Foi de calcul („SheetOne”).

Foaie de lucru Obiect

Obiectul Worksheets se referă la colecția tuturor foilor de lucru dintr-un registru de lucru. Următorul cod folosește metoda Worksheets.Add pentru a adăuga o nouă foaie de lucru:

12345 Sub AdăugareFoaie nouă ()Fișe de lucru.AdăugareSfârșitul Sub

Puteți accesa o foaie individuală din colecția Foi de lucru prin numărul sau numele indexului. Așadar, puteți face referire la o foaie de lucru numită SheetTwo, utilizând foi de lucru („SheetTwo”).

Foaie de lucru Obiect

Obiectul foaie de lucru face parte din colecția Foi de lucru. Obiectul foaie de lucru conține obiectul interval și alte obiecte. Obiectul ActiveSheet se referă la foaia activă.

Următorul cod modifică orientarea paginii foii active în peisaj:

12345 Sub ChangingOrientationToLandscape ()ActiveSheet.PageSetup.Orientation = xlLandscapeSfârșitul Sub

Rețineți că obiectul Sheet conține obiectul PageSetup și proprietatea sa de orientare este setată la xlLandscape.

Obiectul Range

Obiectul Range poate face referire la o singură celulă sau la un set de celule dintr-o foaie de lucru. Următorul cod vă arată cum să utilizați Range.Select metoda pentru a selecta celulele A1: B1:

12345 Sub SelectingARange ()Range ("A1: B1"). SelectațiSfârșitul Sub

Obiect Shapes

Obiectul Shapes se referă la colecția tuturor formelor dintr-o foaie de lucru. Următorul cod ar selecta toate formele din ActiveSheet:

12345 Sub SelectingAllTheShapes ()ActiveSheet.Shapes.SelectAllSfârșitul Sub

Obiect Shape

Obiectul Shape face parte din colecția Shapes. Următorul cod ar crea o formă de dreptunghi rotunjit și apoi va seta proprietatea de nume a obiectului de formă:

123456789 Sub Utilizarea TheShapeObject ()Cu foi de lucru (1) .Shapes.AddShape (msoShapeRoundedRectangle, _200, 100, 80, 80).Name = "Un dreptunghi rotunjit"Se termina cuSfârșitul Sub

Model de obiect Excel VBA

Modelul de obiecte VBA Excel descrie ierarhia tuturor obiectelor pe care le puteți utiliza în Excel. De exemplu, puteți utiliza obiectul Cărți de lucru pentru a face referire la toate celelalte obiecte indirect sau direct. Următorul cod vă arată cum să selectați celula A1, utilizând structura ierarhică:

12345 Sub UsingTheHierachicalStructure ()Cărți de lucru („Book1”). Foi de lucru („Sheet1"). Range („A1"). SelectațiSfârșitul Sub

Declararea și atribuirea unei variabile de obiect

Puteți declara și atribui un obiect unei variabile utilizând cuvintele cheie Dim și Set.

De exemplu:

12 Dim ws ca foaie de lucruSetați ws = ActiveWorkbook.ActiveSheet

Următorul cod vă arată cum să declarați și să atribuiți un obiect Range unei variabile:

12345678910111213141516 Sub AsignareARangeToAVariabilă ()Dim rngOne Ca obiectSetați rngOne = Range ("A1: C1")rngOne.Font.Bold = AdevăratCu rngOne.Font.Bold = Adevărat.Font.Name = "Calibri".Font.Size = 9.Font.Color = RGB (35, 78, 125).Interior.Color = RGB (205, 224, 180).Borders (xlEdgeBottom) .LineStyle = xlContinuousSe termina cuSfârșitul Sub

Rezultatul este:

Este esențial să înțelegeți cum funcționează obiectele pentru a stăpâni VBA. Puteți afla mai multe cu Tutorialul nostru VBA interactiv.

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave