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

Al het commentaar over deze pagina:


Commentaar van: Mellanie Djorai (1-3-2011 04:00:02) deeplink naar dit commentaar

Geachte heer, mevrouw,

Ik ben bezig met een formulierbesturingselement, maar ik wil graag dat de tekst alleen te zie is in het element en in in andere cellen. Hoe kan ik dit doen?

Mvg,

Mellanie Djorai


Commentaar van: Jan Karel Pieterse (1-3-2011 05:26:24) deeplink naar dit commentaar

Hallo Mellanie,

Ik begrijp denk ik de vraag niet helemaal: Waar zou de tekst dan NIET zichtbaar moeten zijn?


Commentaar van: Hanneke (21-9-2011 02:49:43) deeplink naar dit commentaar

Ik heb een keuzelijst gemaakt en wil deze kopieren naar alle volgende regels/cellen in mijn excellijst. De koppeling met de cel wordt meegekopieerd en blijft verwijzen naar de cel waarmee oorspronkelijk gekoppeld is. Dit moet echter de volgende onderliggende cel zijn (dus van A4 naar A5, A5 naar A6 enz.) Nu ben ik handmatig per keuzelijst de koppeling met cel aan het wijzigen. met een lijst van bijna 300 regels is dit nogal tijdsintensief. Hoe kan ik de keuzelijst kopieren dat de koppeling met cel ook wijzigt?

Met vriendelijke groet,
Hanneke


Commentaar van: Jan Karel Pieterse (22-9-2011 00:18:12) deeplink naar dit commentaar

Hallo Hanneke,

Daar kan je het beste een macrootje voor gebruiken.
Maar 300 keuzelijsten op een werkblad werkt niet erg goed, kan je niet beter gebruik maken van gegevens validatie met de lijst optie? Dan hoeft de gebruiker ook niet steeds met de muis op de keuzelijsten te klikken, maar kan hij/zij gewoon de pijltjes toetsen gebruiken.


Commentaar van: Hakan Erol (25-10-2011 06:03:34) deeplink naar dit commentaar

Beste

Ik zou graag het verschil willen weten tussen veldcodes en Activex-Besturingselementen in MS Word.. Komen deze 2 opties niet op hetzelfde neer??

Wachtend op een dringende antwoord
MvG

Hakan Erol


Commentaar van: Jan Karel Pieterse (26-10-2011 03:02:35) deeplink naar dit commentaar

Hallo Hakan,

Helaas weet ik niet zo veel van de Word formulier elementen!


Commentaar van: Marcel (11-9-2012 09:43:42) deeplink naar dit commentaar

Hallo,

ik wil graag afbeeldingen koppelen aan de keuze in een combo box. Kan iemand mij vertellen hoe ik dit in excel 2010 aan moet pakken?

Alvast bedankt.

Groeten Marcel


Commentaar van: Jan Karel Pieterse (11-9-2012 09:47:22) deeplink naar dit commentaar

Hallo Marcel,

Kijk eens of dit artikel helpt:

https://jkp-ads.com/Articles/ShowPicture00NL.asp


Commentaar van: John (22-11-2012 12:20:41) deeplink naar dit commentaar

Hallo,

is het ook mogelijk om deze elementen te gebruiken in word, ik heb ze daar namelijk ingezet in een formulier, maar blijkbaar werken de keuzerondjes allemaal samen ookal heb ik ze onder verschillende tabellen gezet, eenmaal de actieve inhoude ingeschakeld vallen de tabellen uit elkaar en kun je niet afzonderlijk per tabel één keuzerondje invullen..enig idee?

gegroet

John


Commentaar van: Jan Karel Pieterse (22-11-2012 15:02:09) deeplink naar dit commentaar

Hoi John,

Bij de activex besturingselementen moet je de option buttons die samen moeten werken voorzien van dezelfde GroupName eigenschap. Form controls moet je in een frame plaatsen om ze te laten samenwerken.


Commentaar van: Edward (5-12-2012 12:16:57) deeplink naar dit commentaar

Beste,

Ik heb als voorbeeld 3 selectievakjes. Bij aanvinken komt er een tekst te staan in een bepaalde cel (met macro).

Vraag: Hoe krijg ik de teksten (wanneer ik alle vakjes heb aangevinkt) naast elkaar in die ene cel (dus niet overschreven wordt, maar toegevoegd wordt).

Groet,

Edward


Commentaar van: Jan Karel Pieterse (5-12-2012 12:55:05) deeplink naar dit commentaar

Hoi Edward,

Dat kan ook zonder macro, met formule, als je de selectievakjes aan cellen koppelt. Stel je hebt ze aan A1, A2 en A3 gekoppeld, dan kan je een formule als deze gebruiken om de tekst weer te geven:

=ALS(A1;"Check box 1, ";"")&ALS(A2;"Check box 2, ";"")&ALS(A3;"Check box 3, ";"")


Commentaar van: Bart (29-12-2012 13:03:49) deeplink naar dit commentaar

Goedemiddag,

Ik probeer in excel 2007 met besturingselementen te werken. Mijn probleem is dat ik wil dat de vinkjes opgeteld worden bij mekaar. het is voor een lijst die ik wil bijhouden.

Als ik nu op een vinkje druk staat er waar of onwaar ik zou graag willen dat als ik een vinkje aandruk er dan 1 komt te staan en als ik meer vinkjes stuur dan 2 of 3 enz.

Ik hoop dat u me hierbij kan helpen...?

Met vriendelijke groet,

Bart van der Weijden


Commentaar van: Jan Karel Pieterse (29-12-2012 16:53:16) deeplink naar dit commentaar

Hallo Bart,

Je zou met SOM.ALS kunnen werken en het aantal WAAR waarden kunnen tellen in de aan de vinkjes verbonden cellen.


Commentaar van: Wim de Moor (17-9-2013 19:47:20) deeplink naar dit commentaar

In een werkblad heb ik enkele besturingselementen gezet. Hoe kan ik deze verwijderen???


Commentaar van: Jan Karel Pieterse (18-9-2013 10:19:02) deeplink naar dit commentaar

Hallo Wim,

Als je op het tabblad ontwikkelaar design modus inschakelt kan je de controls selecteren en via de delete knop verwijderen.


Commentaar van: W. Th. de Moor (18-9-2013 14:07:47) deeplink naar dit commentaar

Hoi Jan Karel

Bedankt, voor de snelle reactie, het is gelukt, weer wat geleerd

Wim de Moor


Commentaar van: jos melsen (29-9-2013 10:04:20) deeplink naar dit commentaar

kan ik in excel 2007 met macro 2 of meer niet aaneen gesloten geselecteerde cellen tegelijk verplaatsen?


Commentaar van: Jan Karel Pieterse (30-9-2013 10:17:20) deeplink naar dit commentaar

Hallo Jos,

Niet tegelijk, maar wel na elkaar natuurlijk. Als het toch in een macrootje staat maakt het niet echt uit of dat in 1 of in meer stappen gaat, toch?


Commentaar van: Jan Fransen (16-1-2014 16:29:03) deeplink naar dit commentaar

Bij het maken van een userform kies ik ook een 'Keuzelijst' als besturingselement. In het Eigenschappen-venster zou dan ook de 'Linked Cell' -tag moeten staan. Maar die is onzichtbaar.
Hoe kan dat? Ik kan nu niet de keuzelijst 'vullen' met de te kiezen mogelijkheden.

Bij voorbaat dank.


Commentaar van: Jan Karel Pieterse (16-1-2014 17:38:34) deeplink naar dit commentaar

Hallo Jan,

Het is ook beter die linkedcell eigenschap niet te gebruiken op een userform, beter is het om event code te gebruiken die de waarde van de control direct naar de juiste lokatie schrijft.


Commentaar van: Arnold van der Staak (2-3-2014 11:57:19) deeplink naar dit commentaar

In het besturingslint van excel heb ik een aantal formulierbesturingselementen geplaatst. Nu blijven zij Grijs en blijkt dat ik ze niet kan gebruiken. Hoe kan ik deze icoontjes activeren zodat ze wel bruikbaar zijn en ook werken.

Ik hoop dat jullie mij aan kunnen geven hoe ik dat doe of waar ik kan vinden hoe ik ze activeer.

Vriendelijke groeten,
Arnold


Commentaar van: Jan Karel Pieterse (3-3-2014 07:15:10) deeplink naar dit commentaar

Hallo Arnold,

Zijn de controls op het werkblad "grijs" of in het lint?


Commentaar van: Hans (11-2-2015 08:01:13) deeplink naar dit commentaar

Hallo, een vraagje..

Ik gebruik in een cel een formulierbesturingselement, nl.
een keuzelijst met invoervak.

Vraag : Ik wil dit besturingselement verwijderen. Hoe pak je dit aan?

Bedankt en groeten

Hans


Commentaar van: Jan Karel Pieterse (11-2-2015 10:18:16) deeplink naar dit commentaar

Hoi Hans,

Je kan rechts-klikken op dat besturingselement en dan knippen kiezen. Je kunt ook control+klikken en dan op de delete knop drukken.


Commentaar van: Paula Verstelle (20-3-2015 16:43:28) deeplink naar dit commentaar

Ik heb een keuzelijst gemaakt en op meervoudig gezet. Ik moet nu een VBA code gebruiken om het uit te lezen. Ik zou graag willen dat de gekozen waarden allemaal in de gekoppelde cel worden weergegeven. Hoe doe ik dat? Kunt u een vb geven van de vba code?

Dus bv Lijst: appel, peer, banaan. Appel en banaan worden aangeklikt. Ik wil dan in de gekoppelde cel zien: appel,banaan.

Met vriendelijke groeten


Commentaar van: Jan Karel Pieterse (20-3-2015 16:54:45) deeplink naar dit commentaar

Hallo Paula,

Als het gaat om een listbox van de eerste rij elementen, wijs dan een macro toe aan de listbox:

[code]Sub ListBox1_Change()
    Dim sValues As String
    Dim lCT As Long
    With ActiveSheet.ListBoxes(Application.Caller)
        For lCT = 1 To .ListCount
            If .Selected(lCT) Then
                sValues = sValues & .List(lCT) & ", "
            End If
        Next
        Range(.LinkedCell).Value = sValues
    End With
End Sub
[/code]


Commentaar van: WILLEMS (19-10-2015 22:03:59) deeplink naar dit commentaar

Mevrouw, Mijnheer,
Ik wil een een macro automatisch laten uitvoeren in EXCEL, wanneer er in een bepaalde cel een waarde wordt ingeschreven. Als dit zou kunnen, hoe moet dit dan geprogrammeerd worden.
Dank bij voorbaat
Marcel


Commentaar van: Jan Karel Pieterse (20-10-2015 10:07:15) deeplink naar dit commentaar

Hallo Marcel,

Dat kan zeker.
Rechts-click op het tabblad in kwestie en kies "Programmacode weergeven".
Bovenaan het code-venster dat opent zie je twee keuzelijsten. Kies uit de linker keuzelijst "Worksheet" en uit de rechter "Change".
Je krijgt:

Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

BEwerk dit door de naam van je macro ertussen te zetten:
Private Sub Worksheet_Change(ByVal Target As Range)
NaamVanJouwMacro
End Sub

Om de code alleen te laten lopen als er in kolom A iets is ingevoerd:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target,Range("A:A")) is Nothing Then Exit Sub
NaamVanJouwMacro
End Sub


Commentaar van: Christian (18-4-2016 12:40:52) deeplink naar dit commentaar

Ik heb een keuzelijst met invoervak via besturingselement gekoppeld aan een tabel met namen, adressen enz...
Ik heb nu deze keuzelijst niet langer nodig (ik haal de gegevens nu met andere formules uit deze tabel) maar bij het opslaan van het bestand zie ik dat deze keuzelijst er thans 5x onder elkaar op staat en dat ik er slechts één van kan verwijderen door erop rechts te klikken en knippen te selecteren. Ik krijg de 4 andere vakjes er gewoon niet meer af (ook al delete ik de gegevens van het besturingselement)
Hoe krijg ik deze vakjes definitief weg?
Thanks


Commentaar van: Jan Karel Pieterse (18-4-2016 14:50:07) deeplink naar dit commentaar

Hoi Christian,

Klik op de home tab (Start) en klik op de verrekijker. Selecteer de onderste optie. Nu kan je alle objecten op je blad zien en als je op eentje in de lijst klikt kan je die verwijderen.


Commentaar van: Christian (18-4-2016 15:19:11) deeplink naar dit commentaar

Ik werk met Excel op een Mac.
Ik zie geen verrekijker onder het tabblad 'Start'

Probleem heb ik intussen opgelost door het gehele tabblad te vervangen door een oudere versie en er de nieuwe formules in over te brengen.


Commentaar van: Jan Karel Pieterse (18-4-2016 17:42:09) deeplink naar dit commentaar

Hoi Christian,

Ai, Excel op een Mac. Toch een tweederangs besturingssysteem als je met Excel echt wil werken. :-)


Commentaar van: Cas (25-1-2017 21:50:34) deeplink naar dit commentaar

Hallo.

Graag antwoord of het mogelijk is om 2 macro's te verbinden aan één selectievakje? Zo ja, hoe?


Commentaar van: Jan Karel Pieterse (26-1-2017 09:51:33) deeplink naar dit commentaar

Hoi Cas,

Ja, dat is heel eenvoudig. Verbind de eerste macro aan het selectievakje, laten we zeggen dat die EersteMacro heet. ROep de tweede (TweedeMacro) aan vanuit de eerste:

Sub EersteMacro()
'Hier de code van je eerste macro
TweedeMacro
End Sub

Sub TweedeMacro()
'De code van je tweede macro
End Sub


Commentaar van: Ruud (20-3-2017 17:58:26) deeplink naar dit commentaar

Beste Jan karel,

Ik heb net een besturtingselement toegevoegd op basis van een vragenlijst (en hier aan gekoppeld een waarde per antwoord); bijvoorbeeld: antwoord geen = 1, antwoord zeer groot = 4. Deze uitkomsten wil ik direct doorlinken naar een grafiek: hoe kan ik dit toepassen?

Ben erg benieuwd of u mij hierbij kan helpen.

Groeten,
Ruud


Commentaar van: Jan Karel Pieterse (21-3-2017 09:49:43) deeplink naar dit commentaar

Hallo Ruud,

Je kan de besturingselementen aan een cel koppelen zodat hun waarde in die cel verschijnt. Daar kan je dan eenvoudig een grafiek van maken uiteraard.


Commentaar van: Roel (2-6-2017 12:53:00) deeplink naar dit commentaar

Hallo Ruud,

Ik heb een Formulier gemaakt waarvan de uitkomsten worden weergegeven in een database. In dit formulier wil ik nu graag Radiobuttons gebruiken om de optie weer te geven tussen: "Afslag" en "Opbod+Afslag" (gaat over de prijsopbouw van objecten die geveild worden op een vastgoedveiling)

Ik heb de radiobuttons toegevoegd en de namen aangepast naar "Afslag" en "Opbod+Afslag", echter wordt in de database nu waar en onwaar weergegeven.

In plaats van Waar of Onwaar wil ik hier ook graag "Afslag" of "Opbod+Afslag" weergeven.

Hoe is dit mogelijk/ welke vba codes gebruik ik hiervoor?


Ik hoop dat u me hiermee verder kan helpen.

Mvg, Roel


Commentaar van: Jan Karel Pieterse (3-6-2017 16:40:17) deeplink naar dit commentaar

Hoi Roel,

Je kunt die selectievakjes aan een cel koppelen en dan met een ALS functie de waarde an die cel gebruiken in een andere cel om jouw tekstwaarde weer te geven.


Commentaar van: Matthijs (12-7-2017 17:07:48) deeplink naar dit commentaar

Beste,


Ik wil een opdrachtknop invoegen en hier een marco aankoppelen met als opdracht het laten verschijnen van een tekstvak.

Hoe moet ik deze macro aanmaken ?


Commentaar van: Jan Karel Pieterse (13-7-2017 11:34:16) deeplink naar dit commentaar

Hoi Matthijs,

ALs je de knop invoegt dan krijg je automatisch de vraag welke macro eraan gekoppeld moet worden. Je kan dan op "Nieuw" klikken en dan zal Excel een macro voor je invoegen die je vervolgens kunt gaan voorzien van de juiste programmacode.


Commentaar van: Paul (27-9-2017 09:42:20) deeplink naar dit commentaar

Ik heb keuzevakjes in mijn werkblad geplaatst, gekoppeld aan een cel. Maar nu stel ik vast dat de koppeling wel stand houd, maar de plaats van het keuzevakje in die cel ligt blijkbaar niet vast. Als andere gebruikers het blad bekeken hebben, dan staan de vakjes niet meer in de betreffende cellen. hoe kan ik het keuzevakje in de cellen houden?


Commentaar van: Jan Karel Pieterse (27-9-2017 10:30:30) deeplink naar dit commentaar

Hoi Paul,

Controls hebben inderdaad de vervelende neiging niet op hun plaats te blijven. De enige work-around die ik ken is op de 1 of andere manier vastleggen waar ze horen te staan en ze bij openen van het bestand op hun plaats zetten.


Commentaar van: Tony (8-11-2017 08:43:51) deeplink naar dit commentaar

betreft keuzelijst met invoervak

Beste,

Kan een keuzelijst enkel gelinkt worden met één bepaalde cel of kan je, op moment van gebruik, zelf bepalen waar die gegevens moeten komen ?

Waarschijnlijk via een event control.. maar vind het niet echt.

mvg
Tony


Commentaar van: Jan Karel Pieterse (9-11-2017 08:49:30) deeplink naar dit commentaar

Hoi Tony,

De keuzelijst kent twee "koppelingen". De ene bevat de brongegevens voor de lijst zelf, de andere is de cel waar de gekozen waarde verschijnt. Beide werken twee kanten op: de lijst werkt de cel bij en de cel werkt ook de keuzelijst bij. In geval van de formulieren keuzelijst geeft de resultaat-cel het volgnummer van het gekozen item en heb je VERT.ZOEKEN nodig om die waarde op te halen. Bij de ActiveX keuzelijst krijg je direct de gekozen waarde in de cel en heb je VERGELIJKEN nodig als je moet weten welk element uit de lijst was gekozen kwa volgorde.


Commentaar van: Tony (9-11-2017 17:08:38) deeplink naar dit commentaar

Hey Jan,

Jouw uitleg heeft me al een schoon inzicht gegeven in het geheel, dat is zeker. Waarvoor dank.

Mijn vraag (probleem/uitdaging) is in feite het manipuleren van het doel-cel in de Activex Keuzelijst met invoerbox. Ttz. .. bijvoorbeeld - Eerst de selectie van de Keuzelijst laten wegschrijven in doel-cel A1, dan in A2, dan in A3, enz....

mvg
Tony


Commentaar van: Jan Karel Pieterse (9-11-2017 17:45:08) deeplink naar dit commentaar

Hoi Tony,

Dat zou je middels het Worksheet_Change event kunnen regelen. Welke soort keuzelijst heb je gebruikt?


Commentaar van: Tony (9-11-2017 17:49:03) deeplink naar dit commentaar

een ActiveX-besturingselement - keuzelijst met invoervak


Commentaar van: Jan Karel Pieterse (10-11-2017 13:52:34) deeplink naar dit commentaar

Hoi Tony,

Stel Excel in op ontwikkelmodus (ontwikkelaars tab) en dubbel-klik op de activeX control. Ervan uitgaande dat de control zich bovenop de cel bevindt die bewerkt dient te worden. De VBA editor opent. Plak deze code erin (pas de naam van je control aan in de onderstaande code):

Option Explicit

Dim mbNoEvent As Boolean

Private Sub ComboBox1_Change()
    If mbNoEvent Then Exit Sub
    ComboBox1.TopLeftCell.Value = ComboBox1.Value
    ComboBox1.Top = ComboBox1.TopLeftCell.Offset(1).Top
    mbNoEvent = True
    ComboBox1.ListIndex = -1
    mbNoEvent = False
End Sub


Commentaar van: Job (14-11-2017 15:52:48) deeplink naar dit commentaar

Dag,
Al tijden ben ik op zoek naar hoe ik het FONT van de tekst naast het keuzerondje van Excel kan veranderen.
In mijn sheet staan er duidelijk twee verschillende fonts, maar hoe kan ik die wijzigen? (Excel 2013)


Commentaar van: Jan Karel Pieterse (15-11-2017 09:08:06) deeplink naar dit commentaar

Hoi Job,

Dit kan alleen met de keuzerondjes van de ActiveX groep.


Commentaar van: Robby (13-2-2018 15:08:37) deeplink naar dit commentaar

Ik wil met keuzelijst met invoervak een cel kunnen selecteren waarin er een hyperlink staat om deze automatisch te openen.


Commentaar van: Jan Karel Pieterse (13-2-2018 17:33:49) deeplink naar dit commentaar

Hoi Robby,

Ik begrijp niet precies wat je hiermee bedoelt, kan je iets meer info geven?


Commentaar van: Robby (14-2-2018 07:53:44) deeplink naar dit commentaar

Ik heb in excel een lijst met hyperlinks die allemaal een nummer hebben. Ik zou graag via een zoekfunctie op nummer de hyperlink kunnen openen of naar de cel gaan waarde hyperlink staat (deze staan allen in kolom A). Bijkomend zou ik oog graag als ik een word van de naam van de hyperlink intik, een lijst krijgen van alle cellen waar dit woord in voorkomt (deze staan in kolom c)


Commentaar van: Jan Karel Pieterse (14-2-2018 15:29:54) deeplink naar dit commentaar

Hoi Robby,

Zou je dat niet kunnen regelen via de normale filter functionaliteit?


Commentaar van: robby (15-2-2018 13:06:10) deeplink naar dit commentaar

Dat zou kunnen maar ik dacht dat het ook kon met een keuzelijst met invoervak. Heb dit al geprobeerd met de zoeken, maar dan neemt hij de hyperlink niet over, alleen maar de inhoud.


Commentaar van: Jan Karel Pieterse (19-2-2018 10:16:55) deeplink naar dit commentaar

Hoi Robby,

Kan wel, maar alleen middels een macro. Plaats je vraag anders eens op www.eileenslounge.com, daar wordt je zeker geholpen!


Commentaar van: Karel (28-2-2018 23:00:30) deeplink naar dit commentaar

Op mijn pc thuis is bij VBA (Excel) bij het menu Extra - Extra besturingselementen het element "Microsoft Date en Time Picker Control" niet te vinden, op het werk heb ik die wel.

Ik gebruik Excel 2013, is hij daar niet beschikbaar of is er iets anders mis?


Commentaar van: Jan Karel Pieterse (1-3-2018 08:45:45) deeplink naar dit commentaar

Hoi Karel,

Kan inderdaad zijn dat deze niet op je systeem staat want die is verwijderd van Office. Er staat in dit artikel een verwijzing naar een goed alternatief:
https://jkp-ads.com/articles/treeview.asp
Zoek naar het kopje "Other controls".


Commentaar van: Karel (1-3-2018 19:00:42) deeplink naar dit commentaar

Jan Karel,

Dank. Dan heeft upgraden naar Office2016 dus ook geen oplossing.

Is een heel verhaal en lijkt nog niet zo simpel, maar ik ga er later eens rustig voor zitten. Toch vreemd dat MS zelf zo'n mooie functie weggehaald heeft om in een formulier datum en tijd te kiezen.

Nogmaals dank voor je reactie.

Groet,
Karel


Commentaar van: Christof (6-6-2018 16:17:38) deeplink naar dit commentaar

Beste ik heb 6 selectie vakjes aangemaakt en elk een aparte cel toegewezen. Nu wil een soort van voorrangsregels inbouwen. Bv als ik vakje één en twee aanduid dan mag drie niet aangevinkt kunnen worden als dit toch aangegevinkt was dan moet dit automatisch uitgevinkt worden iemand een idee hoe ik dit kan fixen? alvast bedankt
Groetjes Christof


Commentaar van: Jan Karel Pieterse (6-6-2018 21:59:30) deeplink naar dit commentaar

Hoi Christof,

Kan je dan niet beter (combinaties) van keuzerondjes gebruiken?


Commentaar van: Mensink (15-1-2020 17:41:00) deeplink naar dit commentaar

GoedenmiddaG!

Het is mogelijk om (zowel in Excel als ActiveX) meerdere keuzes te selecteren in een keuzelijst. Kun je dat ook automatisch uitvoeren naar een andere cel door LinkedCell (Koppeling met Cel)? Of kan dat alleen wanneer er gebruik gemaakt wordt van een enkele keuzemogelijkheid? Alvast dank!

Vriendelijke groet,

Jaap


Commentaar van: Jan Karel Pieterse (17-1-2020 12:35:00) deeplink naar dit commentaar

Hoi Jaap,

Linked cell kan maar 1 cel zijn en er kan slechts 1 waarde in terecht komen. Dat gezegd hebbende, je kunt wel een macro toewijzen aan een forms listbox die vervolgens alle items afloopt en checkt welke geselecteerd zijn en daar dan vervolgens iets mee doen:

Sub ListBox1_Change()
    Dim Ct As Long
    With ActiveSheet.ListBoxes(Application.Caller)
        For Ct = 1 To .ListCount
            If .Selected(Ct) Then
                MsgBox .List(Ct)
            End If
        Next
    End With
End Sub


Commentaar van: Kees Baltus (9-3-2020 22:43:00) deeplink naar dit commentaar

Ik heb drie keuzerondjes in een groepsvak in Excel en deze gekoppeld aan macros; werkt goed. (Helaas kan ik de naam niet wijzigen omdat Eigenschap alleen info geeft over het werkblad, niet over knoppen etc.)

Bij het opstarten van het programma wil ik dat "Keuzerondje 2" geactiveerd wordt (dus een regel in Sub workbook_open()).

In VB zou ik dat doen met Setfocus, maar hoe doe ik dat in VBA?



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].