VBA -objekt

Innehållsförteckning

Excel VBA -objekt hänvisar till enskilda "enheter" som består av kod och data. Själva Excel -applikationen är ett objekt, liksom arbetsböcker, kalkylblad, cellområden och former. Varje objekt har tillhörande egenskaper och metoder. Objekt kan också innehålla andra objekt och samlingsobjektet används för att referera till en grupp av samma Excel -objekt.

I den här självstudien kommer vi att titta på några vanliga Excel -objekt.

Applikationsobjekt

Programobjektet avser hela Excel -programmet. Programobjektet innehåller arbetsbokobjektet.

Följande kod använder egenskapen WindowState för applikationsobjektet för att ställa in Excel -fönstret till maximal tillgänglig storlek:

12345 Sub MaximeringTheExcelWindow ()Application.WindowState = xlMaximizedAvsluta Sub

Arbetsböcker Objekt

Objektet Workbooks refererar till samlingen av alla Excel -arbetsböcker som för närvarande är öppna.

Följande kod använder metoden Workbooks.Add för att skapa en ny arbetsbok och lägga till den i samlingen:

12345 Sub Lägga tillANewWorkbookToTheWorkbooksCollection ()Arbetsböcker.Lägg tillAvsluta Sub

Du kan komma åt en enskild arbetsbok i arbetsboksamlingen genom dess indexnummer eller namn. Så du kan hänvisa till en arbetsbok som heter ExcelWb, med hjälp av arbetsböcker ("ExcelWB").

Arbetsbokobjekt

Arbetsbokobjektet är en del av arbetsboksamlingen. Arbetsbokobjektet innehåller kalkylbladssamlingen (kalkylblad) och bladsamlingen (kalkylblad, diagramark och makroark). ActiveWorkbook -objektet hänvisar till den aktiva arbetsboken.

Följande kod använder metoden ActiveWorkbook.Save för att spara den aktuella aktiva arbetsboken:

12345 Sub SavingTheWorkbook ()ActiveWorkbook.SaveAvsluta Sub

Ark Objekt

Arkobjektet refererar till samlingen av alla kalkylblad, diagramark och makroark i en arbetsbok. Följande kod använder metoden Sheets.Add för att lägga till ett nytt kalkylblad som heter ExtraSheet efter det sista kalkylbladet i arbetsboken:

123456 Sub AddingANewSheet ()ActiveWorkbook.Sheets.Add (After: = ActiveWorkbook.Worksheets (Worksheets.Count), Count: = 1, _Typ: = xlWorksheet) .Name = "ExtraSheet"Avsluta Sub

Observera syntaxen för Sheets.Add -metoden är:
Ark. Lägg till (Innan, Efter, Räkna, Typ) var:

-Before är valfritt och anger att det nya bladet ska läggas till före ett befintligt ark.

-After är valfritt och anger att det nya bladet ska läggas till efter ett befintligt ark.

-Count är valfritt och anger antalet ark som ska läggas till.

-Typ är valfri och anger bladtypen. xlWorksheet skulle lägga till ett nytt kalkylblad, xlChart skulle lägga till ett nytt diagramblad och xlExcel4MacroSheet eller xlExcel4IntlMacroSheet skulle lägga till ett nytt makrosheet. Om det är tomt används standard xlWorksheet.

Du kan komma åt ett enskilt blad i Sheets -samlingen genom dess indexnummer eller namn. Så du kan hänvisa till ett kalkylblad som heter SheetOne, med hjälp av Sheets ("SheetOne").

Arbetsblad Objekt

Objektet Arbetsblad refererar till samlingen av alla kalkylblad i en arbetsbok. Följande kod använder arbetsbladet. Lägg till metod för att lägga till ett nytt kalkylblad:

12345 Sub AddingANewSheet ()Arbetsblad. Lägg tillAvsluta Sub

Du kan komma åt ett enskilt blad i arbetsbladssamlingen genom dess indexnummer eller namn. Så du kan hänvisa till ett kalkylblad som heter SheetTwo, med hjälp av kalkylblad ("SheetTwo").

Arbetsblad Objekt

Objektet i kalkylbladet är en del av arbetsbladssamlingen. Objektet i kalkylbladet innehåller intervallobjektet och andra objekt. ActiveSheet -objektet refererar till arket som är aktivt.

Följande kod ändrar sidorienteringen för det aktiva arket till liggande:

12345 Sub ChangingOrientationToLandscape ()ActiveSheet.PageSetup.Orientation = xlLandscapeAvsluta Sub

Observera att Sheet -objektet innehåller PageSetup -objektet och dess orienteringsegenskap är inställd på xlLandscape.

Områdeobjekt

Range -objektet kan referera till en enda cell eller en uppsättning celler i ett kalkylblad. Följande kod visar hur du använder Range.Select -metoden för att markera cellerna A1: B1:

12345 Sub SelectingArange ()Område ("A1: B1"). VäljAvsluta Sub

Former Objekt

Objektet Former refererar till samlingen av alla former i ett kalkylblad. Följande kod skulle välja alla former på ActiveSheet:

12345 Sub SelectingAllTheShapes ()ActiveSheet.Shapes.SelectAllAvsluta Sub

Formobjekt

Shape Object är en del av Shapes -samlingen. Följande kod skulle skapa en rundad rektangelform och sedan ange egenskapen namn på formobjektet:

123456789 Sub UsingTheShapeObject ()Med kalkylblad (1) .Shapes.AddShape (msoShapeRoundedRectangle, _200, 100, 80, 80).Name = "En rundad rektangel"Sluta medAvsluta Sub

Excel VBA -objektmodell

Excels VBA -objektmodell beskriver hierarkin för alla objekt du kan använda i Excel. Du kan till exempel använda objektet Workbooks för att hänvisa till alla andra objekt indirekt eller direkt. Följande kod visar hur du väljer cell A1 med den hierarkiska strukturen:

12345 Sub UsingTheHierachicalStructure ()Arbetsböcker ("Bok1"). Arbetsblad ("Ark1"). Område ("A1"). VäljAvsluta Sub

Deklarera och tilldela en objektvariabel

Du kan deklarera och tilldela ett objekt till en variabel med hjälp av Dim och Set sökord.

Till exempel:

12 Dim ws som kalkylbladAnge ws = ActiveWorkbook.ActiveSheet

Följande kod visar hur du deklarerar och tilldelar ett intervallobjekt till en variabel:

12345678910111213141516 Sub AssigningARangeToAVariable ()Dim rngOne som objektStäll in rngOne = Range ("A1: C1")rngOne.Font.Bold = SantMed rngOne.Font.Bold = Sant.Font.Name = "Calibri".Font.Size = 9.Font.Color = RGB (35, 78, 125).Interior.Color = RGB (205, 224, 180).Borders (xlEdgeBottom) .LineStyle = xlContinuousSluta medAvsluta Sub

Resultatet är:

Det är viktigt att förstå hur objekt fungerar för att behärska VBA. Du kan lära dig mer med vår interaktiva VBA -handledning.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave