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.