VBA Set Object Variables - Workbooks, Worksheets, & More

Denna handledning lär dig hur du definierar objektvariabler med Set -satsen i VBA.

Definiera objektvariabler

Objekt är hörnstenen i Microsoft Office - utan objekt kan vi inte uppnå någonting. I Excel inkluderar objekt arbetsboken, kalkylbladet eller intervallobjekten. I Microsoft Word är exemplen dokument- eller tabellobjektet. Varje objekt har en mängd olika Egenskaper och Metoder som kan programmeras för att kontrollera objektets beteende.

Deklarera objektvariabeln

Innan vi kan referera till objektet i kod och därför styra objektet måste vi deklarera objektet. Vi kan göra detta med Dim Statement.

123456 Dim wkb som arbetsbokDimma veckor som arbetsbladDim Rng som intervallDim wdDoc som dokumentDim wdTbl som tabellDim shp som Shape

Detta Dämpa deklaration kan förekomma inom ett förfarande:

eller utanför ett förfarande på modulnivå:

Om variabeln deklareras på modulnivå (utanför proceduren) kan variabeln användas i hela modulen.

Om objektvariabeln deklareras med Public -satsen kan variabeln användas i hela VBA -projektet:

Satt värde

När du har deklarerat objektet måste du tilldela objektet ett värde. Detta måste göras med Ange uttalande och kan bara göras inom ett Procedur.

12345 Sub SetObjects ()Ange wkb = ActiveWorkbookStäll in wks = Sheet1Ställ in rng = Range ("A1: G4")Avsluta Sub

Obs! Detta är annorlunda än att tilldela värden till icke-objektvariabler. Du MÅSTE använda Set -satsen för att tilldela variabeln objektet. Om du inte gör det får du ett felmeddelande:

När du har tilldelat objektet ett värde kan du sedan skriva kod för att styra beteendet eller manipulera objektet.

VBA -programmering | Kodgenerator fungerar för dig!

Objekt Exempel i Excel

Arbetsbokobjekt

När du har deklarerat en arbetsboksvariabel kan du tilldela en arbetsbok till det objektet och använda de tillgängliga egenskaperna och metoderna för att manipulera objektet. I exemplet nedan ska vi spara en arbetsbok.

123456789101112 Sub WorkbookObject ()'förklara arbetsbokobjektetDim wkb som arbetsbok'tilldela objektet en osparad arbetsbokAnge wkb = Workbooks ("Book1")'spara arbetsbokenwkb.SaveAs "C: \ data \ testbook.xlsx"'stäng arbetsbokenwkb.stäng'kom ihåg att släppa objektetAnge wkb = ingentingAvsluta Sub

Arbetsblad Objekt

På samma sätt kan du manipulera ett kalkylblad eller kalkylblad när du har deklarerat kalkylbladet som en variabel. I exemplet nedan byter vi namn på Sheet1 och Sheet2.

12345678910111213 Sub WorksheetObject ()Dim wks1 som arbetsbladDim wks2 som arbetsblad'initiera objektenStäll in wks1 = Sheet1Ställ in wks2 = Sheet2'döpa om arkenwks1.Name = "Kunder"wks2.Name = "Produkter"'ställ in objekten till ingentingwks1 = Ingentingwks2 = IngentingAvsluta Sub

Trött på att söka efter exempel på VBA -kod? Prova AutoMacro!

Områdeobjekt

Range -objektet är ett av de mest användbara objekten att manipulera i Excel. I exemplet nedan vågar vi intervall A1 till E1 och formaterar det med en bottenkant.

12345678910111213 Sub RangeObject ()Dim rng1 som intervall'initialisera intervalletStäll in rng = Range ("A1: E1")'djärva intervallet och ställ in den nedre gränsenrng.Font.Bold = SantMed rng1.Borders (xlEdgeBottom).LineStyle = xlContinuous.ColorIndex = 0.TintAndShade = 0.Vikt = xlThinSluta medAvsluta Sub

Formobjekt

Du kan också använda objektvariabler för att arbeta med former.

123456789101112 Sub AddShape ()Dim shp som form'skapa formenAnge shp = ActiveDocument.Shapes.AddShape (msoShapeSmileyFace, 68,25, 225,75, 136,5, 96#)Med shp'ändra inre färg och stil.Fill.ForeColor.RGB = RGB (255, 255, 0).Fyll.Solid'justera leendet!.Justeringar.Punkt (1) = 0,07181Sluta medAvsluta Sub
wave wave wave wave wave