Voetbalopstelling II

VBA informatie

In het vervolg van dit artikel leg ik uit wat je allemaal kan vinden in het bestand. Maar eerst volgt er een iets technischere uitleg over VBA (hopelijk is het niet saai). Ik heb dat nodig voor de rest van mijn verhaal. VBA werkt met objecten (objects), methoden (methods) en eigenschappen (properties).

Objecten zijn o.a. de Excel toepassing waarin je werkt, bestanden, tabbladen, cellen, grafieken, alle mogelijke elementen die je plaatst op een blad, … Met al die objecten kan je "dingen doen": dat zijn methoden. Je kan cellen kopiëren, Excel minimaliseren, een blad bijvoegen of nog heel veel andere dingen. Eigenschappen zijn de andere grote bouwstenen: je verandert het uitzicht, of verandert een instelling. Bv. een cel in het vet zetten, de rasterlijnen weghalen of de gebruikersnaam opvragen of instellen. Met functietoets F2 in VBA krijg je een overzicht van wat je allemaal kan gebruiken.

Vervolgens een woordje over Userforms. Zoals je kon zien op de vorige pagina, heb ik een schermpje (een userform) ontworpen waarop ik verschillende elementen (controls) geplaatst heb. De meest gebruikte elementen heb ik hier in een overzicht geplaatst.

Je hebt veel vrijheid en mogelijkheden met die elementen. Zij hebben met name talrijke eigenschappen (een naam, lettertype, welke "waarde", waar het zich bevindt, een gele tip als je met de muis aanwijst, …) Met F4 kom je bij de eigenschappen terecht. Elk element kent trouwens een aantal voorgeprogrammeerde gebeurtenissen. Zo bijvoorbeeld: wat willen we dat er gebeurt wanneer op een bepaalde knop geklikt wordt? Of wanneer er met de muis bewogen wordt over bepaalde elementen? Of als de gebruiker een tekstbox heeft ingevuld? Of een keuzerondje aangeklikt heeft? Enz.

En dat is in a nutshell wat we hier nodig hebben. We moeten een scherm creëeren met daarop de nodige elementen. En - simpel gezegd - telkens als de gebruiker iets doet moeten we dat traceren en de juiste acties ondernemen met code. Als men iets wil slepen vanuit een keuzelijst (listbox), dan moet er code geschreven worden voor de Listbox_MouseMove gebeurtenis. Bv. code om alles op de juiste plaats te zetten.

Ik heb ook klassemodules (class modules) gebruikt. Die vind je via Invoegen > Klassemodule. Klassemodules zijn geavanceerde VBA concepten. Vandaar dat ik mij beperk tot de essentie. Die klassen bevatten code voor alle labels en afbeeldingen op de userform tegelijk. Dus als je 20 labels hebt gebruikt, moet je niet 20 keer dezelfde code schrijven. En als je later een paar labels bijvoegt, worden die ook direct mee opgenomen zonder extra code.

Wordt vervolgd

Lees verder…

Over Wim

Wim Gielis is Business Intelligence consultant en Excel expert

Andere links