VBA Angi objektvariabler - arbeidsbøker, regneark og mer

Denne opplæringen vil lære deg hvordan du definerer objektvariabler ved hjelp av Set -setningen i VBA.

Definere objektvariabler

Objekter er hjørnesteinen i Microsoft Office - uten objekter kan vi ikke oppnå noe. I Excel inkluderer objekter arbeidsbok, regneark eller områdeobjekter. I Microsoft Word er eksemplene dokumentet eller tabellobjektet. Hvert objekt har en rekke Egenskaper og Metoder som kan programmeres til å kontrollere oppførselen til objektet.

Deklarere objektvariabelen

Før vi kan referere til objektet i kode, og derfor kontrollere objektet, må vi deklarere objektet. Vi kan gjøre dette ved å bruke Dim Statement.

123456 Dim wkb som arbeidsbokDim wks som regnearkDim Rng som rekkeviddeDim wdDoc som dokumentDim wdTbl som tabellDim shp som Shape

Dette Dim erklæring kan forekomme i en prosedyre:

eller utenfor en prosedyre på modulnivå:

Hvis variabelen deklareres på modulnivå (utenfor prosedyren), kan variabelen brukes i hele modulen.

Hvis objektvariabelen deklareres med den offentlige setningen, kan variabelen brukes i hele VBA -prosjektet:

Angi verdi

Når du har erklært objektet, må du tilordne objektet en verdi. Dette må gjøres ved hjelp av Sett uttalelse og kan bare gjøres innen a Fremgangsmåte.

12345 Sub SetObjects ()Sett wkb = ActiveWorkbookSett wks = Sheet1Sett rng = Range ("A1: G4")Slutt Sub

Merk: Dette er annerledes enn å tilordne verdier til ikke-objektvariabler. Du MÅ bruke Set -setningen for å tilordne objektet til variabelen. Hvis du ikke gjør det, får du en feilmelding:

Når du har tilordnet en verdi til objektet, kan du deretter skrive kode for å kontrollere oppførselen eller manipulere objektet.

VBA -programmering | Kodegenerator fungerer for deg!

Objekteksempler i Excel

Arbeidsbokobjekt

Når du har erklært en arbeidsbokvariabel, kan du tilordne en arbeidsbok til objektet og bruke de tilgjengelige egenskapene og metodene til å manipulere objektet. I eksemplet nedenfor skal vi lagre en arbeidsbok.

123456789101112 Sub WorkbookObject ()'erklærer arbeidsbokobjektetDim wkb som arbeidsbok'tilordne en ikke -lagret arbeidsbok til objektetSett wkb = Workbooks ("Book1")'lagre arbeidsbokenwkb.SaveAs "C: \ data \ testbook.xlsx"'lukk arbeidsbokenwkb.close'husk å slippe objektetSett wkb = ingentingSlutt Sub

Regnearkobjekt

På samme måte kan du manipulere et regneark eller regneark når du har erklært regnearket som en variabel. I eksemplet nedenfor omdøper vi Sheet1 og Sheet2.

12345678910111213 Sub WorksheetObject ()Dim wks1 Som regnearkDim wks2 som regneark'initialiser objekteneSett wks1 = Ark1Sett wks2 = Sheet2Gi nytt navn til arkenewks1.Name = "Kunder"wks2.Name = "Produkter"'sette objektene til ingentingwks1 = Ingentingwks2 = IngentingSlutt Sub

Lei av å søke etter eksempler på VBA -kode? Prøv AutoMacro!

Rekkevidde

Range -objektet er et av de mest nyttige objektene å manipulere i Excel. I eksemplet nedenfor drister vi område A1 til E1 og formaterer det med en nedre kant.

12345678910111213 Sub RangeObject ()Dim rng1 As Range'intialisere rekkeviddenSett rng = Range ("A1: E1")'fet rekkevidde og angi den nedre grensenrng.Font.Bold = SantMed rng1.Borders (xlEdgeBottom).LineStyle = xlContinuous.ColorIndex = 0.TintAndShade = 0.Vekt = xlThinSlutt medSlutt Sub

Formobjekt

Du kan også bruke objektvariabler for å arbeide med former.

123456789101112 Sub AddShape ()Dim shp som form'skape formenSett shp = ActiveDocument.Shapes.AddShape (msoShapeSmileyFace, 68.25, 225.75, 136.5, 96#)Med shp'endre innvendig farge og stil.Fill.ForeColor.RGB = RGB (255, 255, 0).Fyll.Solid'juster smilet!.Justeringer. Element (1) = 0,07181Slutt medSlutt Sub
wave wave wave wave wave