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 |