Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Listbox Eintrag in andere Listbox verschieben

Forumthread: Listbox Eintrag in andere Listbox verschieben

Listbox Eintrag in andere Listbox verschieben
23.10.2016 18:11:18
Tobias
Guten Abend zusammen,
ich kämpfe gerade mit der Listbox. Ich hab in einer Userform 2 Listboxen. Nennen wir sie mal Listbox 1 und 2.Wie bekomme ich nun einen markierten Eintrag aus der einen listbox mithilfe eines button in die andere Listbox übertragen.
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox Eintrag in andere Listbox verschieben
23.10.2016 18:13:54
Hajo_Zi
listbox2.additem Listbox1

AW: Listbox Eintrag in andere Listbox verschieben
23.10.2016 18:19:40
Tobias
Das wäre dann der Code für den Button ?
AW: Listbox Eintrag in andere Listbox verschieben
23.10.2016 18:22:04
Hajo_Zi
ja
Gruß Hajo
Anzeige
AW: Listbox Eintrag in andere Listbox verschieben
23.10.2016 18:29:34
Tobias
Danke
Funktioniert:)
Danke für Rückmeldung oT
23.10.2016 18:32:20
Hajo_Zi
AW: Danke für Rückmeldung oT
23.10.2016 18:46:38
Tobias
Sorry hab noch was vergessen, wie bekomme ich nun den verschobenen Eintrag aus der Listbox1, da dieser nun in beiden Listboxen vorhanden ist.
Anzeige
löschen
23.10.2016 19:09:34
Hajo_Zi
Listbox1.RemoveItem (Listbox1.Listindex)
Gruß Hajo
;
Anzeige

Infobox / Tutorial

Listbox Einträge zwischen Userform-Listboxen verschieben


Schritt-für-Schritt-Anleitung

Um einen markierten Eintrag aus einer Listbox in eine andere Listbox innerhalb einer Userform zu verschieben, kannst du folgende Schritte befolgen:

  1. Erstelle die Userform: Füge zwei Listboxen (Listbox1 und Listbox2) und einen Button hinzu.

  2. Füge den VBA-Code hinzu: Klicke mit der rechten Maustaste auf den Button und wähle "Code anzeigen". Füge den folgenden Code ein:

    Private Sub CommandButton1_Click()
       ' Eintrag von Listbox1 zu Listbox2 hinzufügen
       Listbox2.AddItem Listbox1.Text
    
       ' Eintrag aus Listbox1 entfernen
       Listbox1.RemoveItem Listbox1.ListIndex
    End Sub
  3. Testen: Starte die Userform, wähle einen Eintrag in Listbox1 aus und klicke auf den Button, um den Eintrag in Listbox2 zu verschieben.


Häufige Fehler und Lösungen

  • Fehler: "Der Eintrag wird nicht hinzugefügt."

    • Lösung: Stelle sicher, dass die Listbox1 mindestens einen Eintrag ausgewählt hat. Überprüfe, ob Listbox1.ListIndex korrekt ist.
  • Fehler: "Der Eintrag wird nicht entfernt."

    • Lösung: Vergewissere dich, dass der Eintrag in Listbox1 tatsächlich vorhanden ist und du den richtigen Index verwendest.

Alternative Methoden

Wenn du eine alternative Methode ausprobieren möchtest, kannst du auch eine Schleife verwenden, um mehrere Einträge gleichzeitig zu verschieben. Der Code könnte so aussehen:

Private Sub CommandButton1_Click()
   Dim i As Integer
   For i = Listbox1.ListCount - 1 To 0 Step -1
       If Listbox1.Selected(i) Then
           Listbox2.AddItem Listbox1.List(i)
           Listbox1.RemoveItem i
       End If
   Next i
End Sub

Diese Methode ermöglicht es dir, mehrere ausgewählte Einträge auf einmal zu verschieben.


Praktische Beispiele

Hier ist ein Beispiel, wie du eine Userform mit zwei Listboxen erstellst:

  1. In der ersten Listbox (Listbox1): Füge einige Beispielwerte hinzu, wie "Apfel", "Banane", "Kirsche".
  2. In der zweiten Listbox (Listbox2): Diese bleibt zunächst leer.
  3. Button-Click-Event: Nutze den oben beschriebenen Code, um Einträge zu verschieben.

Tipps für Profis

  • Datenvalidierung: Überprüfe die Eingaben, bevor du sie in die Listboxen hinzufügst.
  • Dynamische Listboxen: Du kannst die Listboxen dynamisch mit Daten aus einer Excel-Tabelle füllen.
  • Grafische Benutzeroberfläche (GUI): Gestalte die Userform ansprechend, um die Benutzerfreundlichkeit zu erhöhen.

FAQ: Häufige Fragen

1. Wie kann ich die Listboxen mit Inhalten aus einer Excel-Tabelle füllen? Du kannst den folgenden Code im Userform-Load-Ereignis verwenden:

Private Sub UserForm_Initialize()
   Dim ws As Worksheet
   Set ws = ThisWorkbook.Sheets("Tabelle1")
   Dim i As Integer
   For i = 1 To ws.Cells(Rows.Count, 1).End(xlUp).Row
       Listbox1.AddItem ws.Cells(i, 1).Value
   Next i
End Sub

2. Kann ich die Listboxen auch mit Bildern füllen? Standard-Listboxen unterstützen keine Bilder. Du kannst jedoch eine ListView-Steuerelement verwenden, das diese Funktionalität bietet.

3. Ist es möglich, Einträge zwischen Listboxen hin und her zu verschieben? Ja, du kannst einen zweiten Button hinzufügen, um Einträge aus Listbox2 zurück zu Listbox1 zu verschieben, indem du ähnliche Methoden wie oben beschrieben anwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige