Most Valuable Professional


View Jan Karel Pieterse's profile on LinkedIn subscribe to rss feed
Subscribe in a reader

Subscribe to our mailing list

* indicates required

Bestand crasht Excel!!

Red mijn werkmap!
De beste tool voor Excel bestanden met problemen.

Cursussen

Excel VBA Masterclass (Engels)
Excel VBA voor Financials

Third party tools

Speed up your file

FastExcel
The best tool to optimise your Excel model!

Repair your file

Stellar Phoenix Excel Repair
Best tool to repair corrupt Excel sheets and objects
Home > Nederlandse site > Artikelen > Besturingselementen > Beschrijving (3)
This page in English

Het gebruik van Besturingselementen

Gedetailleerde beschrijving van de elementen (3)

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.


 


Vragen, suggesties en opmerkingen

Al het commentaar over deze pagina:


Comment by: Jan Fransen (1/16/2014 4:29:03 PM)

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.

 


Comment by: Jan Karel Pieterse (1/16/2014 5:38:34 PM)

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.

 


Comment by: Paula Verstelle (3/20/2015 4:43:28 PM)

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

 


Comment by: Jan Karel Pieterse (3/20/2015 4:54:45 PM)

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]

 


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: www.eileenslounge.com.

Uw naam (verplicht veld):

Uw e-mail adres (Niet verplicht, dit adres wordt niet getoond)

Uw verzoek of commentaar:

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