KutoolsforOffice — Eén oplossing, vijf krachtige tools.Meer bereiken met minder moeite.

Selecteer meerdere items in Excel-Keuzelijst – volledige handleiding

AuteurSiluvia Wijzigingsdatum

Excel-keuzelijsten zijn een fantastisch hulpmiddel om gegevensconsistentie te waarborgen en invoer eenvoudig te maken. Standaard kunt u echter slechts één item selecteren. Maar wat als u meerdere items moet kiezen uit dezelfde keuzelijst? Deze uitgebreide handleiding behandelt methoden om meervoudige selecties in Excel-keuzelijsten mogelijk te maken, duplicaten te beheren, aangepaste scheidingstekens in te stellen en het bereik van deze lijsten te definiëren.

Een schermafbeelding van de geanimeerde demo met meervoudige selecties in een Excel-dropdownlijst.

Tip: Zorg ervoor dat u voorafgaand aan het toepassen van de volgende methoden al Keuzelijst hebt gemaakt in uw werkbladen. Als u wilt weten hoe u gegevensvalidatie-Keuzelijst maakt, volg dan de instructies in dit artikel:Hoe maakt u gegevensvalidatie-Keuzelijst in Excel.

Meervoudige selecties inschakelen in Keuzelijst

In dit gedeelte worden twee methoden beschreven waarmee u meervoudige selecties kunt inschakelen in een keuzelijst in Excel.

Met VBA-code

Om meervoudige selecties in een keuzelijst mogelijk te maken, kunt u gebruikmaken van Visual Basic for Applications (VBA) in Excel. Met een eenvoudig script past u het gedrag van de keuzelijst aan, zodat gebruikers meerdere opties tegelijk kunnen selecteren. Volg hiervoor de onderstaande stappen.

Stap 1: Open de editor Blad (Code)
  1. Open het werkblad met de keuzelijst waarvoor u meervoudige selectie wilt inschakelen.
  2. Klik met de rechtermuisknop op het bladtabblad en kies ‘Code weergeven’ in het contextmenu.
    Een schermafbeelding van de optie 'Code weergeven' in het contextmenu van een werkbladtab in Excel
Stap 2: Gebruik VBA-code

Kopieer nu de volgende VBA-code en plak deze in het geopende venster Blad (Code).

VBA-code: Schakel meervoudige selecties in in de Excel-keuzelijst.

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20240118
    Dim xRng As Range
    Dim xValue1 As String
    Dim xValue2 As String
    Dim delimiter As String
    Dim TargetRange As Range

    Set TargetRange = Me.UsedRange ' Users can change target range here
    delimiter = ", " ' Users can change the delimiter here

    If Target.Count > 1 Or Intersect(Target, TargetRange) Is Nothing Then Exit Sub
    On Error Resume Next
    Set xRng = TargetRange.SpecialCells(xlCellTypeAllValidation)
    If xRng Is Nothing Then Exit Sub
    Application.EnableEvents = False

    xValue2 = Target.Value
    Application.Undo
    xValue1 = Target.Value
    Target.Value = xValue2
    If xValue1 <> "" And xValue2 <> "" Then
        If Not (xValue1 = xValue2 Or _
                InStr(1, xValue1, delimiter & xValue2) > 0 Or _
                InStr(1, xValue1, xValue2 & delimiter) > 0) Then
            Target.Value = xValue1 & delimiter & xValue2
        Else
            Target.Value = xValue1
        End If
    End If

    Application.EnableEvents = True
    On Error GoTo 0
End Sub

Een schermafbeelding van de VBA-code geplakt in de Excel VBA-editor

Resultaat

Wanneer u terugkeert naar het werkblad, kunt u met de Keuzelijst meerdere opties kiezen; zie de demo hieronder:

Een schermafbeelding van de geanimeerde demo met meervoudige selecties in een Excel-dropdownlijst

Opmerkingen:
De bovenstaande VBA-code:
  • Van toepassing op alle gegevensvalidatie-keuzelijsten in het huidige werkblad, zowel bestaande als toekomstige.
  • Voorkom dat u hetzelfde item meerdere keren selecteert in elke keuzelijst.
  • Gebruikt een komma als scheidingsteken voor het aantal geselecteerde items. Als u een ander scheidingsteken wilt gebruiken,bekijk dan deze sectie om het scheidingsteken te wijzigen.

Met Kutools voor Excel in een paar klikken

Als u niet bekend bent met VBA, biedt de functie „Keuzelijst met meerdere selecties maken” van Kutools voor Excel een eenvoudig alternatief. Met deze gebruiksvriendelijke tool stelt u in één handomdraai meervoudige selecties in keuzelijsten in, past u het scheidingsteken naar wens aan en beheert u duplicaten moeiteloos – precies zoals uw behoeften dat vereisen.

Kutools voor Excelbiedt meer dan 300 geavanceerde functies om complexe taken te stroomlijnen en creativiteit en efficiëntie te vergroten.Geïntegreerd met AI-mogelijkheden, automatiseert Kutools taken nauwkeurig, waardoor gegevensbeheer moeiteloos wordt.Gedetailleerde informatie over Kutools voor Excel...         Gratis proefversie...

Na installatie van Kutools voor Excel gaat u naar het tabblad „Kutools”, kiest u „Keuzelijst” > „Keuzelijst met meerdere selecties maken” en configureert u deze als volgt.

  1. Geef het bereik op dat de keuzelijst bevat waaruit u meerdere items wilt selecteren.
  2. Geef het scheidingsteken op voor het aantal geselecteerde items in de keuzelijstcel.
  3. Klik op „OK” om de instellingen af te ronden.
    Een schermafbeelding van het Kutools-configuratiescherm voor Multi-select Dropdownlijst met instellingen voor bereik- en scheidingsopties
Resultaat

Wanneer u nu op een cel met een keuzelijst in het beperkte bereik klikt, verschijnt er direct een handige keuzelijst naast de cel. Klik eenvoudig op de „+”-knop naast een item om het toe te voegen aan de vervolgkeuzecel, of klik op de „–”-knop om items te verwijderen die u niet langer wilt behouden. Bekijk de demo hieronder:

Een schermafbeelding van een demo waarin meerdere selecties in een Excel-dropdownlijst worden beheerd met Kutools

Opmerkingen:
  • Schakel de optie „Voeg een nieuwe regel in na scheidingsteken” in als u het aantal geselecteerde items verticaal binnen de cel wilt weergeven. Laat deze optie uitgeschakeld als u liever een horizontale weergave hebt.
  • Schakel de optie ‘Zoekfunctie inschakelen’ in om een zoekbalk toe te voegen aan uw keuzelijst.
  • Om deze functie te gebruiken, moet u eerst Kutools voor Excel downloaden en installeren.

Meer bewerkingen voor meervoudige selectie-Keuzelijst

Dit gedeelte bevat diverse scenario’s die mogelijk nodig zijn bij het inschakelen van meervoudige selecties in de gegevensvalidatie-keuzelijst.


Dubbele items toestaan in Keuzelijst

Dubbele items kunnen een probleem vormen wanneer meervoudige selecties zijn toegestaan in een keuzelijst. De bovenstaande VBA-code voorkomt dubbele items in de keuzelijst. Als u dubbele items juist wel wilt toestaan, gebruikt u de VBA-code in dit gedeelte.

VBA-code: Dubbele items toestaan in gegevensvalidatie-Keuzelijst

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20240118
    Dim xRng As Range
    Dim xValue1 As String
    Dim xValue2 As String
    Dim delimiter As String
    Dim TargetRange As Range

    Set TargetRange = Me.UsedRange ' Users can change target range here
    delimiter = ", " ' Users can change the delimiter here

    If Target.Count > 1 Or Intersect(Target, TargetRange) Is Nothing Then Exit Sub
    On Error Resume Next
    Set xRng = TargetRange.SpecialCells(xlCellTypeAllValidation)
    If xRng Is Nothing Then Exit Sub
    Application.EnableEvents = False

    xValue2 = Target.Value
    Application.Undo
    xValue1 = Target.Value
    Target.Value = xValue2
    If xValue1 <> "" And xValue2 <> "" Then
        Target.Value = xValue1 & delimiter & xValue2
    End If

    Application.EnableEvents = True
    On Error GoTo 0
End Sub
Resultaat

U kunt nu meerdere items selecteren uit de keuzelijst in het huidige werkblad. Om een item herhaaldelijk te selecteren in een keuzelijst-cel, kiest u dat item gewoon opnieuw uit de lijst. Zie screenshot:

Een schermafbeelding van de geanimeerde demo met dubbele selecties in een Excel-dropdownlijst


Bestaande items verwijderen uit Keuzelijst

Nadat u meerdere items hebt geselecteerd in een keuzelijst, wilt u soms een bestaand item weer verwijderen uit de keuzelijstcel. In dit gedeelte vindt u een handig stukje VBA-code om dat eenvoudig te doen.

VBA-code: Bestaande items verwijderen uit de Keuzelijst-cel

Private Sub Worksheet_Change(ByVal Target As Range)
    'Updated by Extendoffice 20240118
    Dim xRngDV As Range
    Dim TargetRange As Range
    Dim oldValue As String
    Dim newValue As String
    Dim delimiter As String
    Dim allValues As Variant
    Dim valueExists As Boolean
    Dim i As Long
    Dim cleanedValue As String

    Set TargetRange = Me.UsedRange ' Set your specific range here
    delimiter = ", " ' Set your desired delimiter here

    If Target.CountLarge > 1 Then Exit Sub

    ' Check if the change is within the specific range
    If Intersect(Target, TargetRange) Is Nothing Then Exit Sub

    On Error Resume Next
    Set xRngDV = Target.SpecialCells(xlCellTypeAllValidation)
    If xRngDV Is Nothing Or Target.Value = "" Then
        ' Skip if there's no data validation or if the cell is cleared
        Application.EnableEvents = True
        Exit Sub
    End If
    On Error GoTo 0

    If Not Intersect(Target, xRngDV) Is Nothing Then
        Application.EnableEvents = False
        newValue = Target.Value
        Application.Undo
        oldValue = Target.Value
        Target.Value = newValue

        ' Split the old value by delimiter and check if new value already exists
        allValues = Split(oldValue, delimiter)
        valueExists = False
        For i = LBound(allValues) To UBound(allValues)
            If Trim(allValues(i)) = newValue Then
                valueExists = True
                Exit For
            End If
        Next i

        ' Add or remove value based on its existence
        If valueExists Then
            ' Remove the value
            cleanedValue = ""
            For i = LBound(allValues) To UBound(allValues)
                If Trim(allValues(i)) <> newValue Then
                    If cleanedValue <> "" Then cleanedValue = cleanedValue & delimiter
                    cleanedValue = cleanedValue & Trim(allValues(i))
                End If
            Next i
            Target.Value = cleanedValue
        Else
            ' Add the value
            If oldValue <> "" Then
                Target.Value = oldValue & delimiter & newValue
            Else
                Target.Value = newValue
            End If
        End If

        Application.EnableEvents = True
    End If
End Sub
Resultaat

Met deze VBA-code selecteert u eenvoudig meerdere items uit een keuzelijst en verwijdert u elk reeds gekozen item zonder gedoe. Nadat u meerdere items hebt geselecteerd, verwijdert u een specifiek item door het opnieuw aan te klikken in de lijst.

Een schermafbeelding van de geanimeerde demo die laat zien hoe bestaande items uit een dropdownlijst in Excel worden verwijderd


Een aangepast scheidingsteken instellen

Het scheidingsteken is in de bovenstaande VBA-code ingesteld als komma. U kunt deze variabele eenvoudig aanpassen naar elk gewenst teken dat u als scheidingsteken voor de Keuzelijst-selecties wilt gebruiken. Zo gaat u te werk:

Zoals u kunt zien, bevatten alle bovenstaande VBA-codes de volgende regel:

delimiter = ", "

Vervang de komma eenvoudigweg door het gewenste scheidingsteken. Wilt u de items bijvoorbeeld scheiden met een puntkomma, dan wijzigt u de regel als volgt:

delimiter = "; "
Opmerking: om het scheidingsteken te wijzigen in een nieuwe-regel-teken in deze VBA-codes, wijzigt u deze regel in:
delimiter = vbNewLine

Een Beperkt bereik instellen

De bovenstaande VBA-codes zijn van toepassing op alle keuzelijsten in het huidige werkblad. Als u de VBA-codes alleen op een bepaald bereik van keuzelijsten wilt toepassen, kunt u dat bereik in de bovenstaande VBA-code als volgt opgeven.

Zoals u kunt zien, bevatten alle bovenstaande VBA-codes de volgende regel:

Set TargetRange = Me.UsedRange

U hoeft alleen de regel te wijzigen in:

Set TargetRange = Me.Range("C2:C10")
Opmerking: hier is C2:C10 het bereik met de Keuzelijst die u wilt instellen als meervoudige selecties.

Uitvoeren in een beveiligd werkblad

Stel dat u een werkblad hebt beveiligd met het wachtwoord „123” en de keuzelijstcellen voorafgaand aan het activeren van de beveiliging hebt ingesteld op „Niet vergrendeld”, zodat de multi-select-functie na beveiliging blijft werken. In dat geval functioneren de eerder genoemde VBA-codes helaas niet. Dit gedeelte beschrijft daarom een speciaal VBA-script dat is ontworpen voor multi-select-functionaliteit in een beveiligd werkblad.

VBA-code: Meervoudige selectie inschakelen in Keuzelijst zonder duplicaten


Private Sub Worksheet_Change(ByVal Target As Range)
    'Updated by Extendoffice 20240118
    Dim xRng As Range
    Dim xValue1 As String
    Dim xValue2 As String
    Dim delimiter As String
    Dim TargetRange As Range
    Dim isProtected As Boolean
    Dim pswd As Variant

    Set TargetRange = Me.UsedRange ' Set your specific range here
    delimiter = ", " ' Users can change the delimiter here

    If Target.Count > 1 Or Intersect(Target, TargetRange) Is Nothing Then Exit Sub
    
    ' Check if sheet is protected
    isProtected = Me.ProtectContents
    If isProtected Then
        ' If protected, temporarily unprotect. Adjust or remove the password as needed.
        pswd = "yourPassword" ' Change or remove this as needed
        Me.Unprotect Password:=pswd
    End If

    On Error Resume Next
    Set xRng = TargetRange.SpecialCells(xlCellTypeAllValidation)
    If xRng Is Nothing Then
        If isProtected Then Me.Protect Password:=pswd
        Exit Sub
    End If
    Application.EnableEvents = False

    xValue2 = Target.Value
    Application.Undo
    xValue1 = Target.Value
    Target.Value = xValue2
    If xValue1 <> "" And xValue2 <> "" Then
        If Not (xValue1 = xValue2 Or _
                InStr(1, xValue1, delimiter & xValue2) > 0 Or _
                InStr(1, xValue1, xValue2 & delimiter) > 0) Then
            Target.Value = xValue1 & delimiter & xValue2
        Else
            Target.Value = xValue1
        End If
    End If

    Application.EnableEvents = True
    On Error GoTo 0

    ' Re-protect the sheet if it was protected
    If isProtected Then
        Me.Protect Password:=pswd
    End If
End Sub
Opmerking: vervang in de code „yourPassword” in de regel pswd = „yourPassword" door het daadwerkelijke wachtwoord dat u gebruikt om het werkblad te beveiligen. Als uw wachtwoord bijvoorbeeld „abc123” is, moet de regel luiden: pswd = "abc123".

Door meervoudige selecties in een Excel-keuzelijst mogelijk te maken, verhoogt u de functionaliteit en flexibiliteit van uw werkbladen aanzienlijk. Of u nu vertrouwd bent met VBA-programmeren of liever een eenvoudigere oplossing zoals Kutools gebruikt: u kunt standaard keuzelijsten nu omzetten in dynamische hulpmiddelen met meervoudige selectie. Met deze vaardigheden creëert u nog dynamischere en gebruiksvriendelijkere Excel-documenten. Wilt u zich verder verdiepen in de mogelijkheden van Excel? Op onze website vindt u een schat aan handleidingen.Ontdek hier meer Excel-tips en -trucs.

Beste Office-productiviteitstools

🤖KUTOOLS AI Assistent: Revolutioneer Data-analyse op basis van:Intelligente uitvoering   |  Genereer code|  Maak aangepaste formules  |  Analyseer gegevens en genereer grafieken|  Roep Verbeterde functies aan
Populaire functies:Zoeken, markeren of Dubbele waarden markeren   |  Verwijder lege rijen   |  Kolommen samenvoegen of cellen zonder gegevensverlies   |   Afronden zonder formule...
Super ZOEKEN:VLookup met meerdere criteria  |  VLookup met meerdere waarden  |   VLookup over meerdere werkbladen   |   Fuzzy Match....
Geavanceerde keuzelijst:Snel een keuzelijst maken   |  Afhankelijke keuzelijst   |  Keuzelijst met meervoudige selectie....
Kolombeheerder:Een specifiek aantal kolommen toevoegen|Kolommen verplaatsen|Zichtbaarheidsstatus van verborgen kolommen in-/uitschakelen|Bereiken en kolommen vergelijken...
Uitgelichte functies:Rasterfocus   |  Ontwerpweergave   |Verbeterde formulebalk   | Werkmap- en bladbeheerder   |  Bronnenbibliotheek(Automatische tekst)|  Datumkiezer   |  Werkbladen samenvoegen  |  Versleutelen/Cellen decoderen   | E-mails verzenden via lijst   |  Superfilter   |   Speciaal filter(Filter cellen met vetgedrukt lettertype/cursief/doorgestreept...) ...
Top 15 toolsets:12 TekstHulpmiddelen(Tekst toevoegen,Specifieke tekens verwijderen, ...)|   50+Grafiektypen(Gantt-diagram, ...)|   40+ Praktische Formules(Leeftijd berekenen op basis van geboortedatum, ...)|   19 Invoeghulpmiddelen(QR-code Invoegen,Afbeelding invoegen vanaf pad, ...)|   12 Conversiehulpmiddelen(Omzetten naar woorden,Wisselkoersconversie, ...)|   7 Samenvoegen en splitsenhulpmiddelen(Geavanceerd samenvoegen van rijen,Cellen splitsen, ...)|... en meer
Gebruik Kutools in uw voorkeurstaal – ondersteunt Engels, Spaans, Duits, Frans, Chinees en 40+ andere talen!

Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie zoals nooit tevoren.Kutools voor Excel biedt meer dan 300 geavanceerde functies om productiviteit en Tijd besparen te verhogen.Klik hier om de functie te krijgen die u het meest nodig heeft...


Office Tab Voegt tabbladinterface toe aan Office en maakt uw werk veel eenvoudiger

  • Schakel tabnavigatie en -lezing in voor Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten aan in nieuwe tabbladen binnen hetzelfde venster, in plaats van in afzonderlijke vensters.
  • Verhoog uw productiviteit met 50 % en bespaar dagelijks honderden muisklikken!

Alle Kutools-add-ins in één installatieprogramma.

Kutools for Office bundelt invoegtoepassingen voor Excel, Word, Outlook en PowerPoint, plus Office Tab Pro – ideaal voor teams die met meerdere Office-apps werken.

ExcelWordOutlookTabsPowerPoint
  • Alles-in-één suite— add-ins voor Excel, Word, Outlook & PowerPoint + Office Tab Pro
  • Één installatieprogramma, één licentie— binnen enkele minuten klaar (MSI-geschikt)
  • Werkt beter samen— gestroomlijnde productiviteit in Office-apps
  • 30-dagen volledig functionele proefversie— geen registratie, geen creditcard
  • Beste prijs-kwaliteitverhouding— bespaar ten opzichte van aankoop van afzonderlijke add-ins