Persoonlijk zou ik volgende situatie creëren : plaats 1 knop op het werkblad die een formuliertje oproept met meerdere knoppen. Hiervoor moet je wel opnieuw gebruik maken van VBA (Visual Basic for Application). Ik zal dit stap voor stap proberen uit te leggen in de veronderstelling dat je nog niets van VBA afweet.
Geen paniek als je denkt dat je geen VBA hebt, want dit zit standaard in Excel.
Neem, als veiligheid, eerst een kopietje van het bestand waarin je zal werken.
Open het bestand en kies een plaats waar je de knop wenst te plaatsen die het formulier oproept.
Kies in de werkbalk "Visual Basic" de knop "werkset" (indien werkbalk niet aanwezig is moet je rechts klikken in de zichtbare werkbalken en Visual Basic aanvinken).
Kies in de werkset de "opdrachtknop" (1x links klikken) en plaats ze op de gewenste plaats (1x links klikken).
Dubbelklik op de zonet geplaatste knop en nu wordt VBA opgestart.
Nu gaan we eerst de tekst wijzigen die op die knop komt. Dit kan bij het venster eigenschappen. Indien dit venster niet zichtbaar is druk je "F4" of kies je in het menu "Beeld" de optie "Venster Eigenschappen". Tussen al de eigenschappen zie je "Caption" staan, hiernaast typ je de tekst die je op de knop wenst te zien (bv. roep formulier op).
In het hoofdvenster zie je volgende code staan :
Private Sub CommandButton1_Click()
End Sub
Hiertussen wordt de code geplaatst die moet gebeuren als er op de knop geklikt wordt.
Typ hiertussen de code :
userform1.show
Deze code roept het formulier userform1 op. We moeten nu wel nog dit formulier aanmaken :
Kies in het menu "Invoegen" de keuze "UserForm".
Nu verschijnt er een grijs werkvlakje met als naam UserForm1. Eveneens verschijnt er een werkset met verschillende knoppen. De grote van het formulier kan je aanpassen met de vierkantjes aan de rand van het formulier.
Plaats nu het gewenste aantal knoppen op het formulier via de werkset :
Klik op de "opdrachtknop" in de werkset en bepaal de plaats waar ze moet komen op het formulier. Bij de eigenschap "Caption" kan je opnieuw de tekst aanpassen die moet verschijnen op de knop (bv. Maandag, Dinsdag, ...).
Als het gewenste aantal knoppen is geplaatst moeten we nu nog de desbetreffende macro aan de knop linken :
Dubbelklik op de eeste knop en nu verschijnt de code die achter deze knop zit :
Private Sub CommandButton1_Click()
End Sub
Plaats hiertussen de naam van de macro die uitgevoerd moet worden als je op deze knop drukt.
Indien je de naam niet juist weet doe je het volgende : kijk in de projectverkenner (dit is een venstertje met enkele mappen in zoals Formulieren en Modules). Indien dit venster niet zichtbaar is druk dan Ctrl+R of kies in het menu "Beeld" de optie "projectverkenner".
Kijk onder het mapje "Modules" daar staat er "Module1". Dubbelklik hierop en nu verschijnt een nieuw venster met de opgenomen macro's erin (eventueel kunnen er nog andere Modules staan, in het mapje Modules, waarin er macro's staan). De naam van de macro zie je telkens staan tussen Sub en ()
Bv. de Maco met naam Test ziet er als volgt uit :
Sub Test()
Hier komt er code
End sub
Om nu terug te keren naar het formulier met je knoppen dubbelklik je in de projectverkenner op "UserForm1" in het mapje "Formulieren".
Dubbelklik nu op de eerste knop en vul de naam van de macro in, in het voorbeeld met de macronaam Test, heeft dit volgende code :
Private Sub CommandButton1_Click()
Test
End Sub
Als je wenst dat het formulier wordt afgesloten als je op een knop hebt gedrukt dan voeg je de volgende code toe :
unload me
In het voorbeeld :
Private Sub CommandButton1_Click()
Test
Unload Me
End Sub
Dit is enkel handig als je steeds maar één macro uitvoert.
Eventueel kan je ook een knop toevoegen met enkel deze code. Als je dan op deze knop drukt wordt het formulier uit het geheugen gezet.
Keer terug naar het formulier(dubbelklik op UserForm1 in de projectverkenner) en ken op zelfde wijze de desbetreffende macro's toe aan de andere knoppen.
Als alle knoppen en macro's aan elkaar toegewezen zijn kan je VBA afsluiten.
Zet de ontwerpmodus uit (in de VBA-werkbalk, het icoontje met lat, driehoek en potlood).
Als je nu op de knop in het werkblad klikt zou het gemaakte formulier moeten verschijnen. Als je nu op een van de knoppen klikt zou de bijhorende code (macro) moeten uitgevoerd worden.
Indien je iets niet begrijpt of als er iets niet lukt moet je maar iets laten weten.
Veel succes.