Wie verschiebt man Elemente schnell zwischen zwei Listenfeldern in Excel?
Haben Sie schon einmal versucht, Elemente von einem Listenfeld in ein anderes zu verschieben – so wie im folgenden Screenshot dargestellt? Im Folgenden zeige ich Ihnen, wie das in Excel funktioniert.
![]() | ![]() | ![]() |
Elemente zwischen Listenfeldern verschieben
Elemente zwischen Listenfeldern verschieben
Es gibt keine integrierte Funktion, die Sie bei dieser Aufgabe unterstützt – doch ich habe einen VBA-Code, der Ihnen weiterhelfen kann.
1. Zunächst müssen Sie eine Datenliste erstellen, die als Elemente in den Listenfeldern angezeigt wird. Legen Sie diese Liste in einem neuen Arbeitsblatt mit dem Namen Admin_Lists an.

2. Markieren Sie anschließend diese Daten und wechseln Sie zur Namen-Box, um ihnen den Namen ItemList zu geben. Siehe Screenshot:

3. Wechseln Sie dann in ein Arbeitsblatt, das die beiden Listenfelder enthalten soll, und klicken Sie auf Entwicklertools > Einfügen > Listenfeld (ActiveX-Steuerelement), um zwei Listenfelder zu zeichnen. Siehe Screenshot:
![]() | ![]() | ![]() |
Falls die Registerkarte Entwicklertools in Ihrem Menüband ausgeblendet ist, beschreibt dieser Artikel wie zeigt/man die Entwicklertools-Registerkarte in Excel 2007/2010/2013 Menüband an?, wie Sie sie einblenden können.
4. Klicken Sie anschließend auf Entwicklertools > Einfügen > Befehlsschaltfläche (ActiveX-Steuerelement), und zeichnen Sie vier Schaltflächen zwischen die beiden Listenfelder. Siehe Screenshot:
![]() | ![]() | ![]() |
Benennen Sie nun die vier Befehlsschaltflächen jeweils mit „Neuer Name“ um.
5. Wählen Sie die erste Befehlsschaltfläche aus, klicken Sie auf Eigenschaften, und geben Sie im Bereich Eigenschaften den Namen BTN_moveAllRight ein. Geben Sie außerdem >> in das Textfeld neben Beschriftung ein. Siehe Screenshot:

6. Wiederholen Sie Schritt 5, um die letzten drei Befehlsschaltflächen gemäß den unten stehenden Namen umzubenennen, und fügen Sie in jede Beschriftung einen anderen Pfeil ein. Siehe Screenshot:
BTN_MoveSelectedRight
BTN_moveAllLeft
BTN_MoveSelectedLeft
![]() | ![]() | ![]() |
7. Klicken Sie mit der rechten Maustaste auf den Blattnamen, der die Listenfelder und Befehlsschaltflächen enthält, und wählen Sie im Kontextmenü Code anzeigen aus. Siehe Screenshot:

8. Kopieren Sie den folgenden Makrocode und fügen Sie ihn in das Modul-Skript ein. Speichern Sie anschließend den Code und schließen Sie das Fenster Microsoft Visual Basic for Applications. Siehe Screenshot
VBA: Elemente zwischen zwei Listenfeldern verschieben
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 
9. Wechseln Sie nun zu einem anderen Arbeitsblatt und kehren Sie anschließend zum Blatt mit den Listenfeldern zurück. Sie sehen jetzt, dass die Listendaten im ersten Listenfeld angezeigt werden. Klicken Sie auf die Befehlsschaltflächen, um Elemente zwischen den beiden Listenfeldern zu verschieben.

Auswahl verschieben
![]() | ![]() | ![]() |
Alle verschieben
![]() | ![]() | ![]() |
Beste Office-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor.Kutools für Excel bietet über 300 erweiterte Funktionen zur Steigerung der Produktivität und Zeit sparen.Klicken Sie hier, um die Funktion zu erhalten, die Sie am dringendsten benötigen...
Office Tab bringt eine tabbasierte Oberfläche in Office und macht Ihre Arbeit viel einfacher
- Aktivieren Sie tabbasiertes Bearbeiten und Lesen in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters – statt jedes in einem separaten Fenster zu öffnen.
- Steigert Ihre Produktivität um 50 % und erspart Ihnen täglich Hunderte von Mausklicks!
Alle Kutools-Add-Ins – ein Installationsprogramm
Kutools for Office-Paket bündelt Add-Ins für Excel, Word, Outlook und PowerPoint sowie Office Tab Pro – ideal für Teams, die mit mehreren Office-Anwendungen arbeiten.
- Alles-in-einem-Paket— Add-Ins für Excel, Word, Outlook & PowerPoint sowie Office Tab Pro
- Ein Installationsprogramm, eine Lizenz— innerhalb weniger Minuten eingerichtet (MSI-fähig)
- Funktioniert besser zusammen— optimierte Produktivität über alle Office-Anwendungen hinweg
- 30-tägige Vollversion zum Testen— keine Registrierung, keine Kreditkarte erforderlich
- Bestes Preis-Leistungs-Verhältnis— sparen Sie im Vergleich zum Kauf einzelner Add-Ins













