VBA Angiv objektvariabler - projektmapper, regneark og mere

Denne vejledning lærer dig, hvordan du definerer objektvariabler ved hjælp af Set -sætningen i VBA.

Definere objektvariabler

Objekter er hjørnestenen i Microsoft Office - uden objekter kan vi ikke opnå noget. I Excel inkluderer objekter projektmappen, regnearket eller områdeobjekter. I Microsoft Word er eksemplerne dokument- eller tabelobjektet. Hvert objekt har en række forskellige Ejendomme og Metoder der kan programmeres til at kontrollere objektets adfærd.

Deklaration af objektvariablen

Før vi kan referere til objektet i kode og derfor kontrollere objektet, skal vi deklarere objektet. Vi kan gøre dette ved hjælp af Dim Statement.

123456 Dim wkb som projektmappeDim wks som regnearkDim Rng som områdeDim wdDoc som dokumentDim wdTbl som tabelDim shp som form

Det her Svag erklæring kan forekomme inden for en procedure:

eller uden for en procedure på modulniveau:

Hvis variablen deklareres på modulniveau (uden for proceduren), kan variablen bruges i hele modulet.

Hvis objektvariablen deklareres med den offentlige erklæring, kan variablen bruges i hele VBA -projektet:

Indstil værdi

Når du har erklæret objektet, skal du tildele objektet en værdi. Dette skal gøres ved hjælp af Sæt erklæring og kan kun gøres inden for en Procedure.

12345 Sub SetObjects ()Indstil wkb = ActiveWorkbookIndstil wks = Sheet1Indstil rng = Range ("A1: G4")Afslut Sub

Bemærk: Dette er anderledes end at tildele værdier til ikke-objektvariabler. Du SKAL bruge Set -sætningen til at tildele objektet til variablen. Hvis du ikke gør det, modtager du en fejl:

Når du har tildelt en værdi til objektet, kan du derefter skrive kode til at styre adfærden eller manipulere objektet.

VBA -programmering | Kodegenerator virker for dig!

Objekteksempler i Excel

Projektmappeobjekt

Når du har erklæret en projektmappevariabel, kan du derefter tildele en projektmappe til dette objekt og bruge de tilgængelige egenskaber og metoder til at manipulere dette objekt. I eksemplet herunder vil vi gemme en projektmappe.

123456789101112 Sub WorkbookObject ()'erklære projektmappen objektDim wkb som projektmappe'tildele en ikke -gemt projektmappe til objektetIndstil wkb = Workbooks ("Bog1")'gem projektmappenwkb.SaveAs "C: \ data \ testbook.xlsx"'luk projektmappenwkb.luk'husk at frigive objektetIndstil wkb = IntetAfslut Sub

Regneark Objekt

På samme måde kan du manipulere et regneark eller regneark, når du har erklæret regnearket som en variabel. I eksemplet herunder omdøber vi Sheet1 og Sheet2.

12345678910111213 Sub WorksheetObject ()Dim wks1 som regnearkDim wks2 som regneark'initialiser objekterneIndstil wks1 = Ark1Indstil wks2 = Sheet2'omdøbe arkenewks1.Name = "Kunder"wks2.Name = "Produkter"'sæt objekterne til ingentingwks1 = Intetwks2 = IntetAfslut Sub

Træt af at søge efter eksempler på VBA -kode? Prøv AutoMacro!

Områdeobjekt

Range -objektet er et af de mest nyttige objekter at manipulere i Excel. I eksemplet herunder fedter vi område A1 til E1 og formaterer det med en bundkant.

12345678910111213 Sub RangeObject ()Dim rng1 Som område'initialiser rækkeviddenIndstil rng = Range ("A1: E1")'fed rækkevidde og indstil den nederste kantrng.Font.Bold = SandtMed rng1.Borders (xlEdgeBottom).LineStyle = xlContinuous.ColorIndex = 0.TintAndShade = 0.Vægt = xlThinAfslut medAfslut Sub

Formobjekt

Du kan også bruge objektvariabler til at arbejde med figurer.

123456789101112 Sub AddShape ()Dim shp som form'skabe formenIndstil shp = ActiveDocument.Shapes.AddShape (msoShapeSmileyFace, 68,25, 225,75, 136,5, 96#)Med shp'ændre indvendig farve og stil.Fill.ForeColor.RGB = RGB (255, 255, 0).Fyld.Solid'juster smilet!.Justeringer.Punkt (1) = 0,07181Afslut medAfslut Sub
wave wave wave wave wave