Excel VBA -objekter refererer til enkelte "enheder", der består af kode og data. Selve Excel -applikationen er et objekt, ligesom projektmapper, regneark, celleområder og former. Hvert objekt har tilknyttede egenskaber og metoder. Objekter kan også indeholde andre objekter, og samlingsobjektet bruges til at referere til en gruppe af de samme Excel -objekter.
I denne vejledning skal vi se på nogle almindeligt anvendte Excel -objekter.
Applikationsobjekt
Applikationsobjektet refererer til hele Excel -applikationen. Programobjektet indeholder projektmappeobjektet.
Følgende kode bruger egenskaben WindowState for Application -objektet til at indstille Excel -vinduet til den maksimale tilgængelige størrelse:
12345 | Sub MaksimeringTheExcelWindow ()Application.WindowState = xlMaximizedAfslut Sub |
Arbejdsbøger Objekt
Workbooks -objektet refererer til samlingen af alle de aktuelt åbne Excel -projektmapper.
Følgende kode bruger metoden Workbooks.Add til at oprette en ny projektmappe og føje den til samlingen:
12345 | Sub tilføjer ANewWorkbookToTheWorkbooksCollection ()Workbooks.AddAfslut Sub |
Du kan få adgang til en individuel projektmappe i Workbooks -samlingen via dets indeksnummer eller navn. Så du kunne henvise til en projektmappe kaldet ExcelWb ved at bruge projektmapper ("ExcelWB").
Projektmappeobjekt
Projektmappeobjektet er en del af Workbooks -samlingen. Projektmappeobjektet indeholder regnearkssamlingen (regneark) og arksamlingen (regneark, diagramark og makroark). ActiveWorkbook -objektet refererer til den projektmappe, der er aktiv.
Følgende kode bruger metoden ActiveWorkbook.Save til at gemme den aktuelle aktive projektmappe:
12345 | Sub SavingTheWorkbook ()ActiveWorkbook.SaveAfslut Sub |
Ark Objekt
Arkobjektet refererer til samlingen af alle regneark, diagramark og makroark i en projektmappe. Følgende kode bruger metoden Sheets.Add til at tilføje et nyt regneark kaldet ExtraSheet efter det sidste regneark i projektmappen:
123456 | Sub AddingANewSheet ()ActiveWorkbook.Sheets.Add (After: = ActiveWorkbook.Worksheets (Worksheets.Count), Count: = 1, _Type: = xlWorksheet) .Name = "ExtraSheet"Afslut Sub |
Bemærk syntaksen for Sheets.Add -metoden er:
Ark. Tilføj (Før, Efter, Tælle, Type) hvor:
-Før er valgfri og angiver, at det nye ark skal tilføjes før et eksisterende ark.
-After er valgfri og angiver, at det nye ark skal tilføjes efter et eksisterende ark.
-Tælling er valgfri og angiver antallet af ark, der skal tilføjes.
-Type er valgfri og angiver arketypen. xlWorksheet tilføjer et nyt regneark, xlChart tilføjer et nyt diagramark, og xlExcel4MacroSheet eller xlExcel4IntlMacroSheet tilføjer et nyt makroark. Hvis det er tomt, bruges standard xlWorksheet.
Du kan få adgang til et enkelt ark i Sheets -samlingen via dets indeksnummer eller navn. Så du kunne henvise til et regneark kaldet SheetOne ved at bruge Sheets ("SheetOne").
Regneark Objekt
Objektet Regneark refererer til samlingen af alle regnearkene i en projektmappe. Følgende kode bruger regneark. Tilføj metode til at tilføje et nyt regneark:
12345 | Sub AddingANewSheet ()Arbejdsark. TilføjAfslut Sub |
Du kan få adgang til et individuelt ark i regnearkssamlingen via dets indeksnummer eller navn. Så du kunne henvise til et regneark kaldet SheetTwo ved hjælp af regneark ("SheetTwo").
Regneark Objekt
Regnearksobjektet er en del af regnearkssamlingen. Regnearksobjektet indeholder områdeobjektet og andre objekter. ActiveSheet -objektet refererer til det aktive ark.
Følgende kode ændrer sideorienteringen af det aktive ark til liggende:
12345 | Sub ChangingOrientationToLandscape ()ActiveSheet.PageSetup.Orientation = xlLandscapeAfslut Sub |
Bemærk, at arkobjektet indeholder objektet PageSetup, og dets egenskab for orientering er indstillet til xlLandscape.
Områdeobjekt
Range -objektet kan referere til en enkelt celle eller et sæt celler i et regneark. Følgende kode viser dig, hvordan du bruger Range.Select -metoden til at markere celler A1: B1:
12345 | Sub Valg af område ()Område ("A1: B1"). VælgAfslut Sub |
Former Objekt
Objektet Figurer refererer til samlingen af alle former i et regneark. Følgende kode ville vælge alle former på ActiveSheet:
12345 | Sub SelectingAllTheShapes ()ActiveSheet.Shapes.SelectAllAfslut Sub |
Formobjekt
Shape Object er en del af Shapes -samlingen. Følgende kode ville oprette en afrundet rektangelform og derefter angive egenskaben navn for formobjektet:
123456789 | Sub UsingTheShapeObject ()Med regneark (1) .Shapes.AddShape (msoShapeRoundedRectangle, _200, 100, 80, 80).Name = "Et afrundet rektangel"Afslut medAfslut Sub |
Excel VBA -objektmodel
Excels VBA Object -model beskriver hierarkiet for alle de objekter, du kan bruge i Excel. For eksempel kan du bruge objektet Workbooks til at referere til alle de andre objekter indirekte eller direkte. Følgende kode viser dig, hvordan du vælger celle A1 ved hjælp af den hierarkiske struktur:
12345 | Sub UsingTheHierachicalStructure ()Arbejdsbøger ("Bog1"). Regneark ("Ark1"). Område ("A1"). VælgAfslut Sub |
Deklaration og tildeling af en objektvariabel
Du kan deklarere og tildele et objekt til en variabel ved hjælp af søgeordene Dim og Set.
For eksempel:
12 | Dim ws som regnearkIndstil ws = ActiveWorkbook.ActiveSheet |
Følgende kode viser dig, hvordan du erklærer og tildeler et områdeobjekt til en variabel:
12345678910111213141516 | Sub AssigningARangeToAVariable ()Dim rngOne som objektIndstil rngOne = Range ("A1: C1")rngOne.Font.Bold = SandtMed rngOne.Font.Bold = Sandt.Font.Name = "Calibri".Font.Size = 9.Font.Color = RGB (35, 78, 125).Interior.Color = RGB (205, 224, 180).Borders (xlEdgeBottom) .LineStyle = xlContinuousAfslut medAfslut Sub |
Resultatet er:
Det er vigtigt at forstå, hvordan objekter fungerer for at mestre VBA. Du kan lære mere med vores Interaktiv VBA -vejledning.