Vba-objecten: eenvoudige geïllustreerde uitleg

Visual Basic for Applications is een objectgeoriënteerde taal en om er het maximale uit te halen, moet u Excel-objecten begrijpen. De werkmap die u in Excel gebruikt, bestaat uit verschillende objecten.

En er zijn verschillende eigenschappen aan een object gekoppeld waartoe u toegang hebt, en verschillende methoden die u op/met een object kunt gebruiken. Laten we dit begrijpen met een voorbeeld.

Denk aan een grote supermarkt, die verschillende secties voor producten heeft, en die secties hebben bovendien planken, en binnen die planken, producten.

begrijp-excel-objecten

Dus als je kleding wilt kopen, moet je naar de kledingsectie gaan en in de kledingsectie heb je mogelijk subsecties voor mannen en vrouwen.

En als je een stof kiest, heeft die stof een specifieke kleur, maat en stof (wat de eigenschappen van die stof zijn).

Op dezelfde manier zijn er in VBA objecten die in een hiërarchie zijn gestructureerd.

VBA-objectmodel (hiërarchie)

Wanneer u in de Excel-toepassing een werkmap opent, heeft u in die werkmap een werkblad (of meerdere werkbladen) en in dat werkblad hebt u cellen en een celbereik.

De Excel-hiërarchie begint met de Excel-toepassing zelf en hieronder vindt u de structuur die deze hiërarchie definieert:

Stel dat als u naar een werkmap wilt verwijzen, de code die u hebt geschreven er als volgt uit moet zien:

In de bovenstaande code verwijst u naar de werkmap ‘Boek1’.

Wat u schreef is dat u eerst naar de Excel-toepassing verwijst en dat u “Werkmappen” hebt gebruikt, wat verder deel uitmaakt van het toepassingsobject.

Laten we nu zeggen dat u verder wilt gaan en wilt verwijzen naar een werkblad in de werkmap “Boek1” en de bijbehorende code zou zijn:

Je weet wat dat betekent, nietwaar? Maar laat me je het vertellen. In de bovenstaande code heeft u, nadat u naar de werkmap “Boek1” hebt verwezen, naar het werkblad “Blad1” verwezen, wat een ander deel van de werkmap is.

Laten we nog een stukje verder gaan. Laten we naar een specifieke cel in het werkblad “Blad1” verwijzen en de bijbehorende code zou zijn:

Voordat je het vraagt, wil ik je dit vertellen. In de bovenstaande code hebt u verwezen naar cel A1 die zich bevindt in het werkblad “Blad1” van de werkmap “Boek1”.

Wanneer u op deze manier naar een Range-object verwijst, wordt dit een volledig gekwalificeerde referentie genoemd.

Opmerking: Het gebruik van het Application-object is optioneel. Reden? Wanneer je iets in VBA doet, zit je al in de Excel-applicatie.

Vereenvoudig de verwijzing naar een object

In de bovenstaande code heb je een volledig gekwalificeerde referentie gebruikt. Dit betekent dat u VBA vertelt naar welke werkmap, werkblad en cel moet worden verwezen. Maar wat als u al in het Boek 1-werkboek zit?

In dit geval kunt u eenvoudigweg verwijzen naar het werkblad waarin u naar een cel wilt verwijzen, net als de onderstaande code:

Als het werkblad ‘Blad1’ is ingeschakeld, kunt u bovendien eenvoudigweg naar de cel of het celbereik verwijzen, net als de onderstaande code:

Meer informatie over VBA-objecten: VBA-werkmapobject | VBA-werkbladobject | VBA-bereikobject

Voeg een reactie toe

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *