VBA-objecten

Inhoudsopgave

Excel VBA-objecten verwijzen naar afzonderlijke "entiteiten" bestaande uit code en gegevens. De Excel-toepassing zelf is een object, net als werkmappen, werkbladen, celbereiken en vormen. Elk object heeft bijbehorende eigenschappen en methoden. Objecten kunnen ook andere objecten bevatten en het verzamelingsobject wordt gebruikt om naar een groep van dezelfde Excel-objecten te verwijzen.

In deze zelfstudie gaan we kijken naar enkele veelgebruikte Excel-objecten.

Toepassingsobject

Het Application Object verwijst naar de gehele Excel-applicatie. Het toepassingsobject bevat het werkmapobject.

De volgende code gebruikt de eigenschap WindowState van het Application-object om het Excel-venster in te stellen op de maximaal beschikbare grootte:

12345 Sub MaximizingTheExcelWindow()Application.WindowState = xlMaximizedEinde sub

Werkmappen Object

Het object Werkmappen verwijst naar de verzameling van alle momenteel geopende Excel-werkmappen.

De volgende code gebruikt de methode Workbooks.Add om een ​​nieuwe werkmap te maken en deze aan de verzameling toe te voegen:

12345 SubANewWorkbookToTheWorkbooksCollection() toevoegenWerkmappen.ToevoegenEinde sub

U hebt toegang tot een afzonderlijke werkmap in de verzameling Werkmappen via het indexnummer of de naam. U kunt dus verwijzen naar een werkmap met de naam ExcelWb door Werkmappen ("ExcelWB") te gebruiken.

Werkmapobject

Het werkmapobject maakt deel uit van de verzameling Werkmappen. Het werkmapobject bevat de verzameling werkbladen (werkbladen) en de verzameling werkbladen (werkbladen, grafiekbladen en macrobladen). Het ActiveWorkbook-object verwijst naar de werkmap die actief is.

De volgende code gebruikt de methode ActiveWorkbook.Save om de huidige actieve werkmap op te slaan:

12345 Sub Het Werkboek Opslaan()ActiveWorkbook.OpslaanEinde sub

Bladen Object

Het werkbladobject verwijst naar de verzameling van alle werkbladen, grafiekbladen en macrobladen in een werkmap. De volgende code gebruikt de methode Sheets.Add om een ​​nieuw werkblad met de naam ExtraSheet toe te voegen, na het laatste werkblad in de werkmap:

123456 Sub toevoegenANewSheet()ActiveWorkbook.Sheets.Add(After:=ActiveWorkbook.Worksheets(Worksheets.Count), Count:=1, _Typ:=xlWerkblad).Naam = "ExtraBlad"Einde sub

Let op de syntaxis van de methode Sheets.Add is:
Bladen.Toevoegen(Voordat, Na, Graaf, Type) waar:

-Voor is optioneel en geeft aan dat het nieuwe blad vóór een bestaand blad moet worden toegevoegd.

-After is optioneel en geeft aan dat het nieuwe blad moet worden toegevoegd na een bestaand blad.

-Aantal is optioneel en specificeert het aantal toe te voegen vellen.

-Type is optioneel en specificeert het type blad. xlWorksheet zou een nieuw werkblad toevoegen, xlChart zou een nieuw grafiekblad toevoegen en xlExcel4MacroSheet of xlExcel4IntlMacroSheet zou een nieuw macroblad toevoegen. Indien leeg wordt de standaard xlWorksheet gebruikt.

U hebt toegang tot een afzonderlijk blad in de Spreadsheets-collectie via het indexnummer of de naam ervan. U kunt dus verwijzen naar een werkblad met de naam SheetOne, door Spreadsheets ("SheetOne") te gebruiken.

Werkbladen Object

Het object Werkbladen verwijst naar de verzameling van alle werkbladen in een werkmap. De volgende code gebruikt de methode Worksheets.Add om een ​​nieuw werkblad toe te voegen:

12345 Sub toevoegenANewSheet()Werkbladen.ToevoegenEinde sub

U hebt toegang tot een afzonderlijk blad in de verzameling werkbladen via het indexnummer of de naam. U kunt dus verwijzen naar een werkblad met de naam SheetTwo, door Worksheets ("SheetTwo") te gebruiken.

Werkbladobject

Het werkbladobject maakt deel uit van de verzameling werkbladen. Het werkbladobject bevat het bereikobject en andere objecten. Het ActiveSheet-object verwijst naar het blad dat actief is.

De volgende code verandert de paginarichting van het actieve blad in liggend:

12345 Sub WijzigenOriëntatieNaarLandschap()ActiveSheet.PageSetup.Orientation = xlLandscapeEinde sub

Merk op dat het Sheet-object het PageSetup-object bevat en de oriëntatie-eigenschap is ingesteld op xlLandscape.

Bereikobject

Het Range-object kan verwijzen naar een enkele cel of een reeks cellen in een werkblad. De volgende code laat zien hoe u de Range.Select-methode gebruikt om cellen A1:B1 te selecteren:

12345 Sub selecterenArange()Bereik ("A1:B1"). SelecteerEinde sub

Vormen Object

Het object Vormen verwijst naar de verzameling van alle vormen in een werkblad. De volgende code zou alle vormen op de ActiveSheet selecteren:

12345 Sub selecterenAllTheShapes()ActiveSheet.Shapes.Alles selecterenEinde sub

Vormobject

Het Shape Object is onderdeel van de Shapes collectie. De volgende code zou een afgeronde rechthoekige vorm maken en vervolgens de eigenschap name van het vormobject instellen:

123456789 Sub UsingTheShapeObject()Met werkbladen(1).Shapes.AddShape(msoShapeRoundedRectangle, _200, 100, 80, 80).Name = "Een afgeronde rechthoek"Eindigt metEinde sub

Excel VBA-objectmodel

Het VBA-objectmodel van Excel beschrijft de hiërarchie van alle objecten die u in Excel kunt gebruiken. U kunt bijvoorbeeld het object Workbooks gebruiken om indirect of direct naar alle andere objecten te verwijzen. De volgende code laat zien hoe u cel A1 selecteert met behulp van de hiërarchische structuur:

12345 Sub met behulp vanTheHierachicalStructure()Werkmappen ("Boek1"). Werkbladen ("Blad1"). Bereik ("A1"). SelecteerEinde sub

Een objectvariabele declareren en toewijzen

U kunt een object declareren en toewijzen aan een variabele met behulp van de trefwoorden Dim en Set.

Bijvoorbeeld:

12 Dim ws als werkbladStel ws = ActiveWorkbook.ActiveSheet in

De volgende code laat zien hoe u een Range-object declareert en toewijst aan een variabele:

12345678910111213141516 Sub AssigningARangeToAVariable()Dim rngOne As ObjectStel rngOne = Bereik ("A1:C1") inrngOne.Font.Bold = TrueMet rngOne.Lettertype.Bold = True.Font.Name = "Calibri".Lettergrootte = 9.Lettertypekleur = RGB(35, 78, 125).Interieur.Kleur = RGB(205, 224, 180).Borders(xlEdgeBottom).LineStyle = xlContinuousEindigt metEinde sub

Het resultaat is:

Het is essentieel om te begrijpen hoe objecten werken om VBA onder de knie te krijgen. U kunt meer leren met onze interactieve VBA-zelfstudie.

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave