Skip to main content

Hoe kunt u snel items verplaatsen tussen twee lijstvakken in Excel?

Author: Sun Last Modified: 2025-05-29

Heeft u ooit geprobeerd om items van het ene lijstvak naar een ander lijstvak te verplaatsen, zoals u nodig heeft, zoals in de onderstaande schermafbeelding wordt getoond? Hier zal ik het hebben over deze bewerking in Excel.

a screenshot showing the listboxes before moving items a screenshot of an arrow a screenshot showing the listboxes after moving items

Items verplaatsen tussen lijstvakken


Items verplaatsen tussen lijstvakken

Er is geen ingebouwde functie die u kan helpen om de taak te voltooien, maar ik heb een VBA-code die kan helpen.

1. Maak eerst een lijst met gegevens die worden weergegeven als de items in de lijstvakken op een nieuw werkblad dat Admin_Lists heet.

a screenshot of the source data

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

a screenshot of naming the source data in the Name box

3. Klik vervolgens in een werkblad dat de twee lijstvakken zal bevatten, op Ontwikkelaar > Invoegen > Lijstvak (ActiveX-besturingselement), en teken twee lijstvakken. Zie schermafbeelding:

a screenshot of selecting the List Box control under the Developer tab a screenshot of the right arrow a screenshot showing two created list boxes

Als het tabblad Ontwikkelaar verborgen is in uw lint, Hoe kunt u het tabblad Ontwikkelaar weergeven in Excel 2007/2010/2013 Ribbon? Dit artikel legt uit hoe u het zichtbaar maakt.

4. Then click Developer > Insert > Command Button(Active X Control), and draw four buttons between two list boxes. See screenshot:

a screenshot of selecting command button control a screenshot of a right arrow 1 a screenshot showing the created command buttons

Nu de vier opdrachtknoppen hernoemen met nieuwe namen.

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

a screenshot showing how to changing the properties of the command button

6. Herhaal stap 5 om de laatste drie opdrachtknoppen met onderstaande namen te hernoemen, en typ ook verschillende pijlen in de bijschriften. Zie schermafbeelding:

BTN_MoveSelectedRight

BTN_moveAllLeft

BTN_MoveSelectedLeft

a screenshot of the second command button after changing the properties a screenshot of the third command button after changing the properties a screenshot of the fourth command button after changing the properties

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

a screenshot of opening the VBA code editor

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

VBA: Items verplaatsen tussen twee lijstvakken

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

a screenshot showing how to use the VBA code

9. Ga vervolgens naar een ander werkblad en ga terug naar het werkblad met de lijstvakken, nu kunt u zien dat de lijstgegevens zijn weergegeven in het eerste lijstvak. Klik op de opdrachtknoppen om de items tussen de twee lijstvakken te verplaatsen.

a screenshot showing the source data in one list box after running the VBA code

Selectie verplaatsen

a screenshot of moving items from one list box to another one by one a screenshot of the arrow a screenshot showing two items have been moved to the right list box

Alles verplaatsen

a screenshot of marking which command button can be used to move all items from one list to another at the same time a screenshot of arrow 2 a screenshot showing all items are moved from one list box to another at the same time

Beste Office-productiviteitstools

🤖 Kutools AI Assistent: Breng een revolutie teweeg in data-analyse Methode: Intelligente uitvoering |Code genereren |Aangepaste formules maken |Gegevens analyseren en grafieken genereren |Kutools-functies gebruiken
Populaire functies: Dubbele waarden markeren, markeren of identificeren | Verwijder lege rijen | Kolommen of cellen samenvoegen zonder gegevensverlies | Afronden ...
Super ZOEKEN: VLookup met meerdere criteria | VLookup met meerdere waarden | Meervoudig-blad opzoeken | Fuzzy Match ...
Geavanceerde keuzelijst: Snel keuzelijst maken | Afhankelijke keuzelijst | Meervoudige selectie keuzelijst ...
Kolombeheer: Specifiek aantal kolommen toevoegen | Kolommen verplaatsen | Zichtbaarheid van verborgen kolommen wisselen | Bereik & kolommen vergelijken ...
Uitgelichte functies: Rasterfocus | Ontwerpweergave | Verbeterde formulebalk | Werkboek- & Werkbladbeheer | AutoTekstbibliotheek | Datumkiezer | Gegevens samenvoegen | Cellen coderen/decoderen | E-mail verzenden per lijst | Superfilter | Speciaal filter (filter cellen met vetgedrukt/cursief/doorhalen...) ...
Top15 toolsets:12 Teksttools (Tekst toevoegen, Specifieke tekens verwijderen, ...) |50+ Grafiek type (Gantt-diagram, ...) |40+ Praktische formules (Leeftijd berekenen op basis van geboortedatum, ...) |19 Invoegtools (QR-code invoegen, Afbeelding invoegen vanaf pad, ...) | 12 Conversietools (Omzetten naar woorden, Valutaconversie, ...) | 7 Samenvoeg- & Opsplitstools (Geavanceerd samenvoegen van rijen, Cellen splitsen, ...) | ... en meer

Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...


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

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
  • Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!