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 |