Het gebruik van Besturingselementen

Inhoud

Inleiding

Naast invoercellen die zijn gekoppeld aan cellen met formules, beschikt Excel over nog meer mogelijkheden om een werkblad interactief te maken. Zo is het mogelijk om aan een werkblad keuzerondjes, selectievakjes, tekstvakjes en dergelijke toe te voegen. Deze elementen worden ook wel besturingselementen genoemd, omdat ze de gebruiker in staat stellen Excel te "besturen". Dit artikel laat zien hoe deze elementen gebruikt kunnen worden.

Waar zijn de besturingselementen te vinden

Het tabblad Ontwikkelaars tonen

Om met controls te werken is het handig om het tabje "Ontwikkelaars" zichtbaar te maken in het lint. Dit gaat als volgt:

Er zijn twee groepen controls:

Twee groepen elementen; het verschil

Zoals al duidelijk is geworden zijn er twee groepen elementen te onderscheiden: De elementen uit de Formulieren groep en de elementen uit de werkset besturingselementen (ActiveX besturingselementen genoemd in Excel 2007 en latere versies).

Voor en nadelen

Onderstaand staatje geeft een overzicht van voor- en nadelen van beide sets:

Soort element
Formulier elementen
Werkset besturingselementen (ActiveX elementen)
Voordelen
  • Eenvoudig in het gebruik
  • Te gebruiken op grafieken
  • Gemakkelijk aan een macro te koppelen
  • Weinig problemen
  • Veel instelmogelijkheden
  • Veel mogelijke events (VBA)
  • Veel opmaak mogelijkheden
  • Lijsten geven als resultaat de geselecteerde waarde, niet een index
Nadelen
  • Lijsten geven een index als resultaat, niet de waarde
  • Lastig om 1 macro te gebruiken voor meerdere elementen
  • Soms oorzaak van problemen met bestanden

Welke te gebruiken

U zult zich afvragen welke soort de voorkeur heeft. In het algemeen is het aan te bevelen om de elementen van de formulieren set te gebruiken. Hebt u echter specifieke wensen op het gebied van de formattering die niet bereikt kunnen worden met deze set, neem dan de elementen uit de werkset besturingselementen (ActiveX elementen).

Het invoegen van de elementen

Invoegen van een besturingselement is eenvoudig: Klik het gewenste element aan (zie afbeelding 2 en 4 op deze pagina) en teken een rechthoek op het werkblad of op het grafiekblad waar u het element wilt plaatsen. U kunt ook klikken (dus niet slepen) op de plek waar u het element wilt, dan zal Excel standaard afmetingen voor dat element instellen.

Houdt tijdens het klikken op het werkblad de alt toets ingedrukt en het besturingselement wordt uitgelijnd met het cellen raster. Ook tijdens het verslepen van één van de hoeken van een element kunt u de alt toets gebruiken om de randen van het element te laten uitlijnen op het rooster. Op deze manier is het eenvoudig mogelijk om meerdere elementen te maken die netjes zijn uitgelijnd en dezelfde afmetingen hebben.

Dubbelklik op een besturingselement op een werkbalk om meerdere besturingselementen van hetzelfde type te tekenen. Klik nogmaals op dat element (of op een andere) om dit weer uit te schakelen.

Overzicht van de soorten elementen

De onderstaande tabel geeft een korte beschrijving van de beschikbare elementen en de manier waarop u die kunt gebruiken.

Naam element
Gebruik en opmerkingen
Label
Bijschrift bij andere elementen plaatsen.
Groepsvak
Het groeperen van elementen. Keuzerondjes binnen een groepsvak werken samen.
Knop (opdrachtknop)
Een macro laten starten
Selectievakje
Een optie laten aanvinken, meerdere keuzemogelijkheden selecteren uit een lijst.
Keuzerondje
Eén optie kiezen uit een (beperkt) aantal opties.
Keuzelijst
Een optie kiezen uit een lijst. Meerdere opties zijn zichtbaar.
Keuzelijst met invoervak
Een optie kiezen uit een lijst, alleen de gekozen optie is zichtbaar
Schuifbalk
Snel waarden veranderen.
Kringveld
Waarde veranderen in stapjes.
Tekstvak
Een tekst invoeren.
Wisselknop
Status wisselen. Dit element wordt afgeraden, een selectievakje of twee keuzerondjes zijn voor de gebruiker makkelijker te begrijpen.

Gedetailleerde beschrijving van de elementen

Label

Dit is het eenvoudigste element. Gebruik dit element om uitleg toe te kunnen voegen voor één van de andere elementen.

TIP: U kunt de weergegeven tekst laten afhangen van de waarde in een cel door het tekstvak te selecteren en vervolgens in de formulebalk te klikken en een celadres in te voeren; zie afbeelding 5.

Label tekst hangt af van celwaarde

Afbeelding 5: De tekst op een label afhankelijk maken van een cel.

Groepsvak

Het groepsvak kan gebruikt worden om een duidelijke groepering aan te geven tussen elementen met een soortgelijke functie. Daarnaast heeft het groepsvak een aparte functie bij keuzerondjes van de formulieren groep (zie de paragraaf keuzerondjes). U dient eerst een groepsvak te tekenen alvorens u de te groeperen elementen toevoegt aan het groepsvak. Dit doet u door deze elementen binnen de kaders van het groepsvak te tekenen. Zorg dus dat u het groepsvak voldoende groot maakt, u kunt het altijd later nog verkleinen:


Een groepsvak met drie keuzerondjes

Afbeelding 6: Het groepsvak met daarin drie keuzerondjes.

Knop (opdrachtknop)

Knoppen of opdrachtknoppen worden gebruikt om een macro te starten. Zodra u een opdrachtknop van de formulieren set invoegt zal Excel vragen om een macro aan te wijzen die moet worden gestart als er op de knop wordt gedrukt (afbeelding 7). Als u de macro nog moet schrijven, dan kunt u de naam van de te schrijven macro intypen en op "Nieuw" klikken:

Een macro toewijzen aan een knop

Afbeelding 7: Excel vraagt welke macro u wilt toekennen aan een knop.

TIP: Als u een element van de werkset besturingselementen wilt bewerken, dan moet u het werkblad in "ontwerp modus" zetten. U doet dit mat de betreffende knop op het lint, tab "Ontwikkelaars", groep "Besturingselementen". Als u het besturingelement wilt gebruiken, dan moet u de ontwerpmodus uitschakelen met diezelfde knop.

Selectievakje

Een selectievakje wordt gebruikt om de mogelijkheid te geven iets aan of uit te schakelen, bijvoorbeeld een bepaalde optie, of Ja of Nee te antwoorden. Dit besturingselement geeft u ook de mogelijkheid meerdere keuzes te maken uit een lijst van voorkeuren.

Keuzerondje

Het keuzerondje lijkt wat op het selectievakje, met als belangrijkste verschil dat er in een serie keuzerondjes nooit meer dan 1 rondje ingevuld kan zijn. Als u niets doet, dan zal Excel alle keuzerondjes op een werkblad als één groep behandelen, er kan er nooit meer dan 1 actief zijn. Wilt u meerdere sets keuzerondjes hebben op één werkblad, dan kan dit, de werkwijze verschilt echter voor de beide soorten rondjes.

Keuzerondje uit de werkbalk Formulieren

Om deze rondjes te groeperen tekent u eerst een groepsvak en plaatst vervolgens de keuzerondjes binnen het groepsvak;

Keuzerondjes in groepsvak

zie afbeelding 8:   Afbeelding 8 : keuzerondjes in groepsvakken.

Ook hoe u de keuzerondjes aan een cel moet koppelen hangt af van de soort die u hebt gebruikt. Van de formulieren set hebben alle keuzerondjes binnen een groepsvak dezelfde gekoppelde cel. De waarde in de cel wordt dan een indexgetal van het geselecteerde rondje. Let op dat u de keuzerondjes in de volgorde plaatst waarin u ze op het werkblad heeft gezet, de volgorde waarin de rondjes zijn toegevoegd bepaalt namelijk de waarde in de cel.

Om een formulier besturingselement te selecteren (bijvoorbeeld met het doel om deze te verplaatsen) klikt u er met de rechtermuisknop op. Wilt u meerdere elementen tegelijk selecteren, houdt dan de control toets ingedrukt terwijl u ze met de muis aanklikt.

Groepeer de elementen die u binnen een groepsvak heeft getekend (of die u gezamenlijk wilt kunnen verplaatsen) door ze allemaal te selecteren en vervolgens in het rechtsklik menu te kiezen voor Groeperen, Groeperen.

Keuzerondje uit de werkset besturingselementen

Het keuzerondje uit de werkset besturingselementen (ActiveX) heeft een speciale eigenschap waarmee u kunt aangeven welke keuzerondjes samenwerken. Deze eigenschap heet de "Groupname" eigenschap. Zie afbeelding 9:

Groupname instellen

Afbeelding 9: Groupname van keuzerondje instellen.

Laat u deze eigenschap ongewijzigd, dan zullen de keuzerondjes op 1 werkblad altijd als één groep werken.

Keuzerondjes van de werkset besturingselementen moeten ieder aan hun eigen cel worden gekoppeld. De waarde in de cel is dan WAAR of ONWAAR.

TIP: Toon het eigenschappen venster door op een besturingelement rechts te klikken en te kiezen voor eigenschappen. U kunt ook op de desbetreffende knop klikken van de werkbalk besturingselementen. In Excel 2007 en in latere versies kunt u onder het tabje ontwikkelaars, binnen de groep besturingselementen, op de knop "Eigenschappen" drukken.

Keuzelijst

Een keuzelijst gebruikt u wanneer u de gebruiker de mogelijkheid wil geven een optie uit een lijst te kiezen. U zou hier ook een set keuzerondjes voor kunnen gebruiken, maar die zijn lastig dynamisch te maken, bijvoorbeeld als de lijst moet worden uitgebreid. Bij een klein aantal vaste opties hebben keuzerondjes de voorkeur. Gebruik de keuzelijst als het aantal keuzes niet te groot is, bij een groter aantal heeft de keuzelijst met invoervak de voorkeur.

U kunt de lijst die moet worden getoond direct uit een reeks cellen laten halen, of de keuzes middels VBA code toevoegen. Als de lijst op een ander werkblad staat, dan moet u deze lijst eerst een bereiknaam geven. Selecteer hiertoe de lijst en druk op control+F3 (In Excel 2007 en latere versies moet u daarna nog op "Nieuw" klikken) en voer een naam in voor de lijst. Vervolgens kunt u deze naam invullen in de betreffende eigenschap van het besturingselement.

De tweede belangrijke eigenschap is de LinkedCell, deze cel zal het resultaat van de selectie ontvangen:

Opties van de keuzelijst

Afbeelding 10, Twee belangrijke opties van het ActiveX keuzelijst element.

Opties keuzelijst formulier

Afbeelding 11: Twee belangrijke opties van het keuzelijst element uit de formulieren set.

Merk op, dat de formulier keuzelijst in de gekoppelde cel het indexgetal weergeeft en NIET de geselecteerde waarde. U kunt een formule zoals deze gebruiken om de gekozen waarde te achterhalen:

=INDEX(LijstVoorKeuzeLijst;C1)

Indien u de keuzelijst op Meervoudig of Uitbreiden hebt gezet, dan kan de gebruiker meer dan één keuze maken. De gekoppelde cel blijft dan altijd 0 weergeven (#N/B bij de keuzelijst uit de werkset besturingselementen) en u dient VBA code te gebruiken om de gekozen waarden uit te lezen.

Keuzelijst met invoervak

De keuzelijst met invoervak is geschikt voor de wat grotere hoeveelheden gegevens. Met dit invoervak (mits u de ActiveX variant gekozen heeft) is het ook mogelijk -middels VBA- om nieuwe waarden te laten toevoegen aan de keuzelijst indien een waarde wordt ingevoerd die niet in de lijst voorkomt. Dit kan niet met de keuzelijst uit de Formulieren set.

De twee belangrijke eigenschappen LinkedCell (Koppeling met Cel) en ListFillRange (Invoerbereik) werken op exact dezelfde manier als hierboven omschreven bij de keuzelijst. Bijkomend voordeel van de keuzelijst met invoervak is dat na de keuze alleen de gekozen waarde wordt getoond.

Schuifbalk

De schuifbalk is vooral geschikt om snel een waarde te veranderen. De gebruiker kan de schuif verslepen met de muis, naast de schuif klikken om met grotere stappen te gaan of op de pijltjes klikken om de waarde met kleine stapjes te veranderen.

Schuifbalk met gekoppelde cel

Afbeelding 12: Schuifbalk met eraan gekoppelde cel

Een vertikaal geplaatste schuifbalk werkt t.o.v. een kringveld tegengesteld.: als u bij de schuifbalk op het pijltje omhoog klikt, dan wordt de waarde in de cel verlaagd. Bij het kringveld is het andersom en meer conform de verwachting van de gebruiker: pijltje omhoog betekent verhogen van de waarde. Wilt u de pijltjes "vertikaal" hebben staan, gebruik dan liever een kringveld.

Bij een schuifbalk kunt u de stapgrootte op twee manieren instellen: via de pijltjes "Stapsgewijze wijziging" of door te klikken naast de schuif, "Paginawijziging", zie afbeelding 13:

OP 2 niveau's instelbare stapgrootte

Afbeelding 13, de stapgrootte is instelbaar op twee niveaus.

Deze instellingen heten anders voor de schuifbalk van de werkset besturingselementen (ActiveX), respectievelijk "SmallChange" en "LargeChange", zie afbeelding 14:

SmallChange en LargeChange eigenschappen

Afbeelding 14, instellingen van de schuifbalk van de ActiveX elementen.

Schuifbalken kennen slechts gehele getallen. Het bereik ligt bij de schuifbalk van de formulieren balk van 0 to 30.000. De ActiveX schuifbalk kent een hogere maximum waarde: 666.666.

Heeft u stapjes nodig die kleiner dan 1 zijn, gebruik dan een berekening. Bijvoorbeeld, als u met en stapgrootte wilt werken van 0,5, deel dan de waarde van de schuifbalk gewoon door 2.

Kringveld

Het kringveld is een uitermate geschikt element om snel een waarde met stapjes te veranderen.

Een kringveld

Afbeelding 15: De kringvelden.

Het instellen van de stapgrootte gaat op dezelfde manier als bij de schuifbalk, waarbij een kringveld werkt op basis van kleinere stapjes.

Tekstvak

Alleen de werkset besturingselementen (ActiveX) kent een tekstvak. Het tekstvak heeft in Excel slechts een beperkt nut, omdat u natuurlijk even goed de waarde direct in een cel kunt laten invoeren.

Wisselknop

Het laatste element dat hier wordt besproken is de wisselknop. Alleen de werkset besturingselementen (ActiveX) kent de wisselknop. Dit is een knop die een status aan kan geven maar ook een actie: U zou deze knop kunnen gebruiken om een werkblad te schakelen tussen landschap en portret instelling. Een groot nadeel van deze knop is dat de status aanduiding kan conflicteren met de actie aanduiding, vooral als de twee toestanden een verschillende naam hebben.

Stel u wilt een wisseling tussen portret en landschap mogelijk maken en u gebruikt daarvoor een wissel knop, waarbij u het opschrift aanpast nadat er op geklikt is. Geeft het opschrift van de knop de huidige status weer, of de status nadat u er op heeft gedrukt? Wat gebeurt er als u op de onderstaande knop zou drukken?

Wisselknop; Onduidelijk wat de knop aangeeft

Afbeelding 16: bij de wisselknop is niet duidelijk of de tekst op de knop de huidige status weergeeft of de status die ontstaat NA drukken op de knop.

Door deze mogelijke verwarring is deze knop is in feite alleen geschikt om een aan- of uit status weer te geven. Hiervoor is een selectievakje ook een uitstekend middel. Wilt u de gebruiker de keuze geven uit twee opties, gebruik dan twee keuzerondjes, of eventueel een keuzelijst.

De interactie tussen de elementen en uw werkblad

Ieder element kan aan een cel worden gekoppeld en zo (door deze cel te gebruiken in formules) zorgen voor interactiviteit. Bij de besturingselementen van de formulieren set vindt u deze mogelijkheid door op het element rechts te klikken en te kiezen voor "Besturingselement opmaken". De verschillende elementen bieden hierbij verschillende mogelijkheden, allemaal te vinden op het tabje "Besturingselement"(zie afbeeldingen 11 en 13). Op soortgelijke wijze stelt u de opties van de elementen van de werkset besturingselementen (ActiveX) in door het eigenschappen venster te openen zoals reeds eerder beschreven.

Conclusie

Excel is een uitermate flexibel instrument om analyses te doen en wat-als scenario’s door te rekenen. U gebruikt formules met één of meer invoer cellen om verschillende situaties door te rekenen. Om het werken met verschillende waarden en/of keuze opties te vergemakkelijken kunt u besturingselementen toevoegen aan uw bestand, waarmee het kiezen van de parameters van uw model aanmerkelijk wordt vereenvoudigd voor de gebruiker van uw bestand.

Met hulp van de besturingselementen kunt u het de gebruiker ook gemakkelijk maken bij het invoeren van gegevens en er tegelijk voor zorgen dat er minder kans op invoerfouten is. Voor "dagelijks" gebruik zijn de elementen van de formulieren balk het meest geschikt. Hebt u bepaalde opties nodig die niet met deze set mogelijk zijn, dan kunt u daarnaast gebruik maken van de elementen van de werkset besturingselementen.

 


Vragen, suggesties en opmerkingen

Laatste 8 commentaren van in totaal 73 (Toon ze allemaal):

 


Commentaar van: Jan Karel Pieterse (10-3-2020 10:26:00) deeplink naar dit commentaar

Hoi Kees,

Als je je blad in ontwerpmodus zet kan je een control selecteren en dan bij de eigenschappen van die control.
Deze code activeert OptionButton3:

ActiveSheet.Shapes("OptionButton3").OLEFormat.Activate


Commentaar van: tasha (17-6-2021 19:53:00) deeplink naar dit commentaar

Hoe koppel ik het keuzerondje aan een cel


Commentaar van: Jan Karel Pieterse (18-6-2021 11:34:00) deeplink naar dit commentaar

Hoi Tasha,

Rechts-klik op het keuzerondje en kies Eigenschappen.
Is het een ActiveX keuzerondje, zet dan de sheet in ontwikkelmodus (knop op tabblad ontwikkelaars) en klik op de eigenschappen knop en klik dan op het keuzerondje.


Commentaar van: Marcel Eggen (21-5-2023 10:27:00) deeplink naar dit commentaar

Ik heb recent in een Dashboard een tweetal ActiveX labels toegepast waarmee ik via MouseMove in staat ben om een shape te tonen/verbergen zodra ik met de muis over het label ga. In het begin werkte dat prima maar opeens geeft het bestand een fout en zegt Excel dat het bestand gerepareerd moet worden. Opstarten doet het bestand nu niet meer. Ik heb een oudere versie moeten terugzetten en de labels maar verwijderd. Lijkt me een voorbeeld van problemen met het gebruik van ActiveX objecten. Valt hier iets aan te doen ?


Commentaar van: Jan Karel Pieterse (21-5-2023 11:23:00) deeplink naar dit commentaar

Hoi Marcel,

Wat ik wel eens doe is een hyperlink toevoegen aan een gewone shape, of zelfs gewoon aan een cel. Ik vul dan een tekst in bij de scherminfo. Zie dit artikel: https://jkp-ads.com/Articles/ExcelDataEntryWithValidationHelpnl.asp


Commentaar van: Marcel Eggen (22-5-2023 07:27:00) deeplink naar dit commentaar

Hoi Jan Karel,

Dank voor deze tip. Heb ik nooit eerder gebruikt of aan gedacht om te gebruiken. Ga ik gewoon eens uitproberen.


Commentaar van: Hans de Jong (18-8-2023 15:45:00) deeplink naar dit commentaar

Ik wil een activeX keuzelijst voor de keuze JA/NEE koppelen aan een macro die een kolom filtert op waarde 1 bij JA en op 2 bij NEE. Ik krijg steeds een foutmelding 1004: methode autofilter klasse range is mislukt. Heb je suggesties?
Ik weet dat je een formulier besturingselement makkelijker kunt koppelen aan een macro maar die verbergt niet als ik cel rijen verberg door het filter te activeren.


Commentaar van: Jan Karel Pieterse (18-8-2023 15:49:00) deeplink naar dit commentaar

Hallo Hans,

Ik denk dat je deze vraag beter hier kunt stellen: https://excelexperts.nl/forum/index.php


Heeft u vragen, suggesties of opmerkingen? Gebruik dan dit formulier.

Mocht uw vraag niet direct relevant zijn voor deze pagina, maar een algemene Excel vraag betreffen, dan adviseer ik om deze hier te stellen: excelexperts.nl/forum/index.php.




Als u VBA code in uw commentaar plaatst, gebruik dan [VB] tags: [VB]Uw code[/VB].