KutoolsforOffice — Eine Lösung, fünf leistungsstarke Tools.Mehr erreichen mit weniger Aufwand.März-Aktion: 20 % Rabatt

Wie verschiebt man Elemente schnell zwischen zwei Listenfeldern in Excel?

AutorSun Änderungsdatum

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.

Ein Screenshot, der die Listenfelder vor dem Verschieben von Elementen zeigtEin Screenshot eines PfeilsEin Screenshot, der die Listenfelder nach dem Verschieben von Elementen zeigt

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.

Ein Screenshot der Quelldaten

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

Ein Screenshot der Benennung der Quelldaten im Namensfeld

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:

Ein Screenshot der Auswahl des Listenfeld-Steuerelements unter der Registerkarte „Entwickler“Ein Screenshot des rechten PfeilsEin Screenshot, der zwei erstellte Listenfelder zeigt

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:

Ein Screenshot der Auswahl des Befehlsschaltflächen-SteuerelementsEin Screenshot eines rechten Pfeils 1Ein Screenshot, der die erstellten Befehlsschaltflächen zeigt

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:

Ein Screenshot, der zeigt, wie die Eigenschaften der Befehlsschaltfläche geändert werden

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

Ein Screenshot der zweiten Befehlsschaltfläche nach der Änderung der EigenschaftenEin Screenshot der dritten Befehlsschaltfläche nach der Änderung der EigenschaftenEin Screenshot der vierten Befehlsschaltfläche nach der Änderung der Eigenschaften

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:

Ein Screenshot des Öffnens des VBA-Code-Editors

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

Ein Screenshot, der zeigt, wie der VBA-Code verwendet wird

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.

Ein Screenshot, der die Quelldaten in einem Listenfeld nach Ausführung des VBA-Codes zeigt

Auswahl verschieben

Ein Screenshot des schrittweisen Verschiebens von Elementen aus einem Listenfeld in ein anderesEin Screenshot des PfeilsEin Screenshot, der zeigt, dass zwei Elemente in das rechte Listenfeld verschoben wurden

Alle verschieben

Ein Screenshot, der markiert, welche Befehlsschaltfläche verwendet werden kann, um alle Elemente gleichzeitig von einer Liste in eine andere zu verschiebenEin Screenshot von Pfeil 2Ein Screenshot, der zeigt, dass alle Elemente gleichzeitig von einem Listenfeld in ein anderes verschoben wurden

Beste Office-Produktivitätstools

🤖KUTOOLS AI-Assistent: Revolutionieren Sie Datenanalyse basierend auf:Intelligente Ausführung   |  Code generieren|  benutzerdefinierte Formeln erstellen  |  Daten analysieren und Diagramme erstellen|  Erweiterte Funktionen aufrufen
Beliebte Funktionen:Suchen, hervorheben oder Doppelte markieren   |  Leere Zeilen löschen   |  Spalten kombinieren oder Zellen ohne Datenverlust   |   Runden ohne Formel...
Erweiterte SVERWEIS:VLookup mit mehreren Kriterien  |  VLookup mit mehreren Werten  |   VLookup über mehrere Arbeitsblätter hinweg   |   Fuzzy Match....
Erweiterte Dropdown-Liste:Schnell eine Dropdown-Liste erstellen   |  Abhängige Dropdown-Liste   |  Mehrfachauswahl-Dropdown-Liste....
Spalten-Manager:Eine bestimmte Anzahl von Spalten hinzufügen|Spalten verschieben|Sichtbarkeitsstatus ausgeblendeter Spalten umschalten|Bereiche & Spalten vergleichen...
Hervorgehobene Funktionen:Gitterfokus   |  Entwurf   |Erweiterte Formelleiste   | Arbeitsmappen- & Blatt-Manager   |  Ressourcenbibliothek(AutoText)|  Datumsauswahl   |  Arbeitsblätter konsolidieren  |  Verschlüsseln/Zellen entschlüsseln   | E-Mails per Liste versenden   |  Super Filter   |   Spezialfilter(Zellen mit fettgedruckter Schrift filtern/kursiv/durchgestrichen...) ...
Top-15-Toolsets:12-Text-Tools(Text hinzufügen,Bestimmte Zeichen löschen, ...)|   50+-Diagramm-Typen(Gantt-Diagramm, ...)|   40+ Praktische Formeln(Alter basierend auf dem Geburtstag berechnen, ...)|   19-Einfüge-Tools(QR-Code einfügen,Bild aus Pfad einfügen, ...)|   12-Konvertierungs-Tools(In Wörter umwandeln,Wechselkursumrechnung, ...)|   7-Vereinigen/Aufteilen-Tools(Erweiterte Zeilen zusammenführen,Zellen aufteilen, ...)|... und mehr
Verwenden Sie Kutools in Ihrer bevorzugten Sprache – unterstützt Englisch, Spanisch, Deutsch, Französisch, Chinesisch und 40+ weitere Sprachen!

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.

ExcelWordOutlookTabsPowerPoint
  • 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