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

Hoe verplaatst u snel items tussen twee keuzelijsten in Excel?

AuteurSun Wijzigingsdatum

Hebt u ooit geprobeerd items van de ene keuzelijst naar de andere te verplaatsen, zoals in de onderstaande schermafbeelding is weergegeven? In dit artikel bespreek ik deze handige bewerking in Excel.

een schermafbeelding die de keuzelijsten toont vóór het verplaatsen van itemseen schermafbeelding van een pijleen schermafbeelding die de keuzelijsten toont na het verplaatsen van items

Items verplaatsen tussen keuzelijsten


Items verplaatsen tussen keuzelijsten

Er is geen ingebouwde functie om u hierbij te ondersteunen, maar ik heb een VBA-code die u een handje kan helpen.

1. Maak eerst een lijst met gegevens aan die als items in de keuzelijsten worden weergegeven, op een nieuw werkblad met de naam Admin_Lists.

een schermafbeelding van de brongegevens

2. Selecteer vervolgens deze gegevens en ga naar het vak Naam om ze een naam te geven: ItemList. Zie schermafbeelding:

een schermafbeelding van het benoemen van de brongegevens in het Naamvak

3. Ga vervolgens naar een werkblad waarop de twee keuzelijsten moeten komen en klik op Ontwikkelaar > Invoegen > Keuzelijst (ActiveX-besturingselement), en teken twee keuzelijsten. Zie schermafbeelding:

een schermafbeelding van het selecteren van het keuzelijstbesturingselement onder het tabblad Ontwikkelaareen schermafbeelding van de rechterpijleen schermafbeelding die twee gemaakte keuzelijsten toont

Als het tabblad Ontwikkelaar verborgen is in uw lint, leest u Hoe toont/vertoont u het tabblad Ontwikkelaar in Excel 2007/2010/2013 Lint? — dit artikel vertelt u hoe u het zichtbaar maakt.

4. Klik vervolgens op Ontwikkelaar > Invoegen > Opdrachtknop (ActiveX-besturingselement) en teken vier knoppen tussen de twee keuzelijsten. Zie schermafbeelding:

een schermafbeelding van het selecteren van het opdrachtknop-besturingselementeen schermafbeelding van een rechterpijl 1een schermafbeelding die de gemaakte opdrachtknoppen toont

Geef de vier opdrachtknoppen nu een nieuwe naam via Nieuwe Naam.

5. Selecteer de eerste opdrachtknop, klik op Eigenschappen en geef in het deelvenster Eigenschappen de naam BTN_moveAllRight. Typ vervolgens >> in het tekstvak naast Bijschrift. Zie schermafbeelding:

een schermafbeelding die laat zien hoe u de eigenschappen van de opdrachtknop kunt wijzigen

6. Herhaal stap 5 om de laatste drie opdrachtknoppen de onderstaande namen te geven en voeg ook de bijbehorende pijlen toe aan de bijschriften. Zie schermafbeelding:

BTN_MoveSelectedRight

BTN_moveAllLeft

BTN_MoveSelectedLeft

een schermafbeelding van de tweede opdrachtknop na het wijzigen van de eigenschappeneen schermafbeelding van de derde opdrachtknop na het wijzigen van de eigenschappeneen schermafbeelding van de vierde opdrachtknop na het wijzigen van de eigenschappen

7. Klik met de rechtermuisknop op de naam van het werkblad met de keuzelijsten en opdrachtknoppen en selecteer Code weergeven in het contextmenu. Zie schermafbeelding:

een schermafbeelding van het openen van de VBA-code-editor

8. Kopieer en plak de onderstaande macrocode in het Module-script, sla de code op en sluit het venster van Microsoft Visual Basic for Applications. Zie schermafbeelding

VBA: Items verplaatsen tussen twee keuzelijsten

Private Sub Worksheet_Activate()
'UpdatebyExtendoffice20171117
    Dim xCell As Range
    Dim xRg As Range
    Set xRg = Sheets("Admin_Lists").Range("ItemList")
    Me.ListBox1.Clear
    Me.ListBox2.Clear
    With Me.ListBox1
        .LinkedCell = ""
        .ListFillRange = ""
        For Each xCell In xRg
            If xCell <> "" Then
                .AddItem xCell.Value
            End If
        Next xCell
    End With
    Me.ListBox1.MultiSelect = fmMultiSelectMulti
    Me.ListBox2.MultiSelect = fmMultiSelectMulti
End Sub

Private Sub BTN_MoveSelectedLeft_Click()
    Call moveSigle(Me.ListBox2, Me.ListBox1)
End Sub

Private Sub BTN_MoveSelectedRight_Click()
    Call moveSigle(Me.ListBox1, Me.ListBox2)
End Sub

Private Sub BTN_moveAllLeft_Click()
    Call moveAll(Me.ListBox2, Me.ListBox1)
End Sub

Private Sub BTN_moveAllRight_Click()
    Call moveAll(Me.ListBox1, Me.ListBox2)
End Sub

Sub moveAll(xListBox1 As Object, xListBox2 As Object)
    Dim I As Long
    For I = 0 To xListBox1.ListCount - 1
        xListBox2.AddItem xListBox1.List(I)
    Next I
    xListBox1.Clear
End Sub

Sub moveSigle(xListBox1 As Object, xListBox2 As Object)
    Dim I As Long
    For I = 0 To xListBox1.ListCount - 1
        If I = xListBox1.ListCount Then Exit Sub
        If xListBox1.Selected(I) = True Then
            xListBox2.AddItem xListBox1.List(I)
            xListBox1.RemoveItem I
            I = I - 1
        End If
    Next
End Sub

een schermafbeelding die laat zien hoe u de VBA-code gebruikt

9. Ga vervolgens naar een ander werkblad en keer daarna terug naar het werkblad met de keuzelijsten. U ziet nu dat de lijstgegevens worden weergegeven in de eerste keuzelijst. Klik op de opdrachtknoppen om items tussen de twee keuzelijsten te verplaatsen.

een schermafbeelding die de brongegevens in één keuzelijst toont na het uitvoeren van de VBA-code

Selectie verplaatsen

een schermafbeelding van het verplaatsen van items één voor één van de ene naar de andere keuzelijsteen schermafbeelding van de pijleen schermafbeelding waarop te zien is dat twee items naar de rechter keuzelijst zijn verplaatst

Alles verplaatsen

een schermafbeelding waarop wordt aangegeven welke opdrachtknop kan worden gebruikt om alle items tegelijkertijd van de ene lijst naar de andere te verplaatseneen schermafbeelding van pijl 2een schermafbeelding waarop te zien is dat alle items tegelijkertijd van de ene keuzelijst naar de andere zijn verplaatst

Beste Office-productiviteitshulpmiddelen

🤖KUTOOLS AI Assistant: 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:Voeg een specifiek aantal kolommen toe|Verplaats kolommen|Wissel zichtbaarheidsstatus van verborgen kolommen|Vergelijk bereiken en kolommen...
Uitgelichte functies:Rasterfocus   |  Ontwerpweergave   |Verbeterde formulebalk   | Werkmap- en bladbeheerder   |  Bronnenbibliotheek(Automatische tekst)|  Datumkiezer   |  Werkbladen samenvoegen  |  Versleutelen/Cellen decoderen   | E-mails verzenden op basis van lijst   |  Superfilter   |   Speciaal filter(Filter cellen met vetgedrukt lettertype/cursief/doorgestreept...) ...
Top 15 gereedschapssets: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 de productiviteit te verhogen en Tijd besparen.Klik hier om de functie te krijgen die u het meest nodig heeft...


Office Tab brengt een tabbladinterface naar Office en maakt uw werk veel eenvoudiger

  • Schakel tabbladbewerking en -lezen 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.
  • Verhoogt uw productiviteit met 50 % en bespaart u dagelijks honderden muisklikken!

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

Kutools for Office bundelt add-ins 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 plus Office Tab Pro
  • Één installatieprogramma, één licentie— binnen enkele minuten klaar (MSI-geschikt)
  • Werkt beter samen— gestroomlijnde productiviteit in alle Office-apps
  • 30 dagen volledig functionele proefversie— geen registratie, geen creditcard
  • Beste prijs-kwaliteitverhouding— bespaar ten opzichte van het afzonderlijk kopen van add-ins