/ / Excel VBA-werkmap en werkblad-object

Excel VBA-werkmap en werkbladobject

Objecthiërarchie | collecties | Eigenschappen en methoden

Meer informatie over de Werkboek en Werkblad-object in Excel VBA.

Objecthiërarchie

In Excel VBA kan een object een ander object bevattenobject, en dat object kan een ander object bevatten, enz. Met andere woorden, Excel VBA-programmering omvat het werken met een objecthiërarchie. Dit klinkt waarschijnlijk nogal verwarrend, maar we zullen het duidelijk maken.

De moeder van alle objecten is Excel zelf. We noemen dit het Application-object. Het toepassingsobject bevat andere objecten. Bijvoorbeeld het werkmapobject (Excel-bestand). Dit kan elke werkmap zijn die u hebt gemaakt. Het werkmapobject bevat andere objecten, zoals het werkbladobject. Het werkbladobject bevat andere objecten, zoals het bereikobject.

Het hoofdstuk Een macro maken illustreert hoe code moet worden uitgevoerd door op een opdrachtknop te klikken. We gebruikten de volgende coderegel:

Range("A1").Value = "Hello"

maar wat we echt bedoelden was:

Application.Workbooks("create-a-macro").Worksheets(1).Range("A1").Value = "Hello"

Opmerking: de objecten zijn verbonden met een punt. Gelukkig hoeven we op deze manier geen coderegel toe te voegen. Dat komt omdat we onze opdrachtknop hebben geplaatst in create-a-macro.xls op het eerste werkblad. Houd er rekening mee dat als u dingen op verschillende werkbladen wilt wijzigen, u het werkbladobject moet opnemen. Lees verder.

collecties

Je hebt misschien gemerkt dat werkboeken enWerkbladen zijn beide meervoudig. Dat komt omdat het verzamelingen zijn. De werkmappencollectie bevat alle werkmapobjecten die momenteel zijn geopend. De collectie Worksheets bevat alle Worksheet-objecten in een werkmap.

Werkbladnamen

U kunt op drie manieren naar een lid van de verzameling verwijzen, bijvoorbeeld een enkel werkbladobject.

1. De naam van het werkblad gebruiken.

Worksheets("Sales").Range("A1").Value = "Hello"

2. Gebruik van het indexnummer (1 is het eerste werkblad dat van links begint).

Worksheets(1).Range("A1").Value = "Hello"

3. Gebruik van de codenaam.

Sheet1.Range("A1").Value = "Hello"

Als u de CodeNaam van een werkblad wilt zien, opent u de Visual Basic-editor. In de projectverkenner is de eerste naam de codenaam. De tweede naam is de naam van het werkblad (Verkoop).

Codenaam

Notitie: de codenaam blijft hetzelfde als u de naam van het werkblad of de volgorde van uw werkbladen wijzigt, dus dit is de veiligste manier om naar een werkblad te verwijzen. Klik op Beeld, Eigenschappenvenster om de CodeNaam van een werkblad te wijzigen. Er is één nadeel: u kunt de codenaam niet gebruiken als u naar een werkblad in een andere werkmap verwijst.

Eigenschappen en methoden

Laten we nu een paar eigenschappen bekijken enmethoden van de verzameling Werkmappen en Werkbladen. Eigenschappen zijn iets dat een verzameling heeft (ze beschrijven de verzameling), terwijl methoden iets doen (ze voeren een actie uit met een verzameling).

Plaats een opdrachtknop op uw werkblad en voeg de coderegels toe:

1. De methode Toevoegen van de verzameling Werkmappen maakt een nieuwe werkmap.

Workbooks.Add

Opmerking: de methode Toevoegen van de collectie Worksheets maakt een nieuw werkblad.

2. De eigenschap Count van de collectie Worksheets telt het aantal werkbladen in een werkmap.

MsgBox Worksheets.Count

Resultaat wanneer u op de opdrachtknop op het blad klikt:

Eigenschap tellen in Excel VBA

Opmerking: de eigenschap Count van de verzameling Workbooks telt het aantal actieve werkmappen.

Lees ook: