Excel VBA -objekter refererer til enkle "enheter" som består av kode og data. Selve Excel -applikasjonen er et objekt, det samme er arbeidsbøker, regneark, celleområder og former. Hvert objekt har tilhørende egenskaper og metoder. Objekter kan også inneholde andre objekter, og samlingsobjektet brukes til å referere til en gruppe med de samme Excel -objektene.
I denne opplæringen skal vi se på noen vanlige Excel -objekter.
Søknadsobjekt
Programobjektet refererer til hele Excel -applikasjonen. Programobjektet inneholder arbeidsbokobjektet.
Følgende kode bruker WindowState -egenskapen til Application -objektet for å sette Excel -vinduet til maksimal størrelse som er tilgjengelig:
12345 | Sub MaximizingTheExcelWindow ()Application.WindowState = xlMaximizedSlutt Sub |
Arbeidsbøker Object
Workbooks -objektet refererer til samlingen av alle Excel -arbeidsbøkene som er åpne.
Følgende kode bruker metoden Workbooks.Add for å opprette en ny arbeidsbok og legge den til i samlingen:
12345 | Sub Legger tilNewWorkbookToTheWorkbooksCollection ()Arbeidsbøker.Legg tilSlutt Sub |
Du kan få tilgang til en individuell arbeidsbok i Workbooks -samlingen gjennom indeksnummeret eller navnet. Så du kan referere til en arbeidsbok som heter ExcelWb, ved å bruke arbeidsbøker ("ExcelWB").
Arbeidsbokobjekt
Arbeidsbokobjektet er en del av Workbooks -samlingen. Arbeidsbokobjektet inneholder regnearksamlingen (regneark) og arksamlingen (regneark, diagramark og makroark). ActiveWorkbook -objektet refererer til arbeidsboken som er aktiv.
Følgende kode bruker metoden ActiveWorkbook.Save for å lagre den gjeldende aktive arbeidsboken:
12345 | Sub SavingTheWorkbook ()ActiveWorkbook.SaveSlutt Sub |
Ark Objekt
Arkobjektet refererer til samlingen av alle regnearkene, diagramarkene og makroarkene i en arbeidsbok. Følgende kode bruker Sheets.Add -metoden for å legge til et nytt regneark kalt ExtraSheet, etter det siste regnearket i arbeidsboken:
123456 | Sub AddingANewSheet ()ActiveWorkbook.Sheets.Add (After: = ActiveWorkbook.Worksheets (Worksheets.Count), Count: = 1, _Type: = xlWorksheet) .Name = "ExtraSheet"Slutt Sub |
Legg merke til syntaksen til Sheets.Add -metoden er:
Ark. Legg til (Før, Etter, Telle, Type) hvor:
-Før er valgfritt og spesifiserer at det nye arket skal legges til før et eksisterende ark.
-After er valgfritt og spesifiserer at det nye arket skal legges til etter et eksisterende ark.
-Count er valgfritt og angir antall ark som skal legges til.
-Type er valgfri og spesifiserer arketypen. xlWorksheet ville legge til et nytt regneark, xlChart ville legge til et nytt diagramark, og xlExcel4MacroSheet eller xlExcel4IntlMacroSheet ville legge til et nytt makroark. Hvis det er tomt, brukes standard xlWorksheet.
Du kan få tilgang til et enkeltark i Sheets -samlingen gjennom indeksnummeret eller navnet. Så du kan referere til et regneark kalt SheetOne, ved å bruke Sheets ("SheetOne").
Regneark Objekt
Regneark -objektet refererer til samlingen av alle regnearkene i en arbeidsbok. Følgende kode bruker regneark. Legg til metode for å legge til et nytt regneark:
12345 | Sub AddingANewSheet ()Arbeidsark. Legg tilSlutt Sub |
Du kan få tilgang til et enkeltark i regnearksamlingen gjennom indeksnummeret eller navnet. Så du kan referere til et regneark kalt SheetTwo, ved å bruke regneark ("SheetTwo").
Regnearkobjekt
Regnearkobjektet er en del av regnearksamlingen. Regnearkobjektet inneholder områdeobjektet og andre objekter. ActiveSheet -objektet refererer til arket som er aktivt.
Følgende kode endrer sideretningen for det aktive arket til liggende:
12345 | Sub ChangingOrientationToLandscape ()ActiveSheet.PageSetup.Orientation = xlLandscapeSlutt Sub |
Vær oppmerksom på at Sheet -objektet inneholder PageSetup -objektet, og at orienteringsegenskapen er satt til xlLandscape.
Rekkevidde
Range -objektet kan referere til en enkelt celle eller et sett med celler i et regneark. Følgende kode viser deg hvordan du bruker Range.Select -metoden for å velge celler A1: B1:
12345 | Sub SelectingArange ()Område ("A1: B1"). VelgSlutt Sub |
Former objekt
Shapes -objektet refererer til samlingen av alle figurene i et regneark. Følgende kode vil velge alle figurene på ActiveSheet:
12345 | Sub SelectingAllTheShapes ()ActiveSheet.Shapes.SelectAllSlutt Sub |
Formobjekt
Shape Object er en del av Shapes -samlingen. Følgende kode ville opprette en avrundet rektangelform og deretter angi navnetegenskapen til formobjektet:
123456789 | Sub UsingTheShapeObject ()Med regneark (1) .Shapes.AddShape (msoShapeRoundedRectangle, _200, 100, 80, 80).Name = "Et avrundet rektangel"Slutt medSlutt Sub |
Excel VBA -objektmodell
Excels VBA Object -modell beskriver hierarkiet til alle objektene du kan bruke i Excel. For eksempel kan du bruke Workbooks -objektet til å referere til alle de andre objektene indirekte eller direkte. Følgende kode viser deg hvordan du velger celle A1 ved hjelp av den hierarkiske strukturen:
12345 | Sub UsingTheHierachicalStructure ()Arbeidsbøker ("Bok1"). Regneark ("Ark1"). Område ("A1"). VelgSlutt Sub |
Deklarere og tildele en objektvariabel
Du kan deklarere og tilordne et objekt til en variabel ved å bruke Dim og Set -søkeordene.
For eksempel:
12 | Dim ws som regnearkSett ws = ActiveWorkbook.ActiveSheet |
Følgende kode viser deg hvordan du deklarerer og tilordner et områdeobjekt til en variabel:
12345678910111213141516 | Sub AssigningARangeToAVariable ()Dim rngOne som objektSett rngOne = Range ("A1: C1")rngOne.Font.Bold = SantMed rngOne.Font.Bold = Sant.Font.Name = "Calibri".Font.Size = 9.Font.Color = RGB (35, 78, 125).Interior.Color = RGB (205, 224, 180).Borders (xlEdgeBottom) .LineStyle = xlContinuousSlutt medSlutt Sub |
Resultatet er:
Det er viktig å forstå hvordan objekter fungerer for å mestre VBA. Du kan lære mer med vår interaktive VBA -opplæring.