Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeile zu listbox hinzufügen

Forumthread: Zeile zu listbox hinzufügen

Zeile zu listbox hinzufügen
23.09.2002 10:54:11
christian
Hallo,

ich benutze folgenden Code, um eine listbox per cmdbutton zu füllen:

Sub cmdbutton_click()
lstbox.columncount = 3
lstbox.additem txtbox1.value
lstbox.list(0,1) = txtbox2.value
lstbox.list(0,2) = txtbox3.value
end sub

Frage: Wie schaffe ich es, dass er eine neue Zeile bei erneutem clicken auf den Button hinzufügt, ohne die alte zu überschreiben?
Es muss irgend etwas mit der .list-eigenschaft(0,1) zu tun haben!

Bitte um Hilfe!
Vielen Dank!

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Zeile zu listbox hinzufügen
23.09.2002 11:29:37
PeterA
Hallo Christian

Private Sub CommandButton1_Click()
Dim Anzahl_Einträge As Integer
'Zähler der die momentane Anzahl der Einträge ausließt
Anzahl_Einträge = lstbox.ListCount

lstbox.ColumnCount = 3

lstbox.AddItem "Sepp"
lstbox.List(Anzahl_Einträge, 1) = "Toni"
lstbox.List(Anzahl_Einträge, 2) = "Franz"


End Sub

So müßte es funktionieren
Ciao PeterA

Anzeige
Re: Zeile zu listbox hinzufügen
23.09.2002 12:08:05
christian
Super!
Vielen Dank!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Zeile zu Listbox hinzufügen in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine neue Zeile zu einer Listbox in Excel VBA hinzuzufügen, ohne die bestehenden Einträge zu überschreiben, kannst du folgenden Code verwenden:

Private Sub CommandButton1_Click()
    Dim Anzahl_Einträge As Integer
    ' Zähler der die momentane Anzahl der Einträge ausließt
    Anzahl_Einträge = lstbox.ListCount

    lstbox.ColumnCount = 3
    lstbox.AddItem txtbox1.Value
    lstbox.List(Anzahl_Einträge, 1) = txtbox2.Value
    lstbox.List(Anzahl_Einträge, 2) = txtbox3.Value
End Sub

In diesem Beispiel wird beim Klicken auf den Button eine neue Zeile zur Listbox hinzugefügt. Stelle sicher, dass die Textboxen (txtbox1, txtbox2, txtbox3) bereits im UserForm vorhanden sind und die Listbox (lstbox) korrekt benannt ist.


Häufige Fehler und Lösungen

  1. Fehler: Keine neue Zeile wird hinzugefügt.

    • Lösung: Überprüfe, ob die ColumnCount korrekt gesetzt ist und dass du die ListCount zur Bestimmung der Position der neuen Zeile verwendest.
  2. Fehler: Listbox bleibt leer.

    • Lösung: Stelle sicher, dass die Textboxen nicht leer sind, bevor du die Werte zur Listbox hinzufügst.

Alternative Methoden

Eine alternative Methode besteht darin, die Daten in einem Array zu speichern und anschließend als Ganzes zur Listbox hinzuzufügen. Das kann die Performance verbessern, wenn viele Einträge hinzukommen.

Dim Daten(1 To 3) As String
Daten(1) = txtbox1.Value
Daten(2) = txtbox2.Value
Daten(3) = txtbox3.Value

lstbox.AddItem Daten(1)
lstbox.List(lstbox.ListCount - 1, 1) = Daten(2)
lstbox.List(lstbox.ListCount - 1, 2) = Daten(3)

Praktische Beispiele

Angenommen, du möchtest ein einfaches Kontaktformular erstellen. Das UserForm enthält drei Textboxen für den Namen, die E-Mail und die Telefonnummer. Der Code zum Hinzufügen eines neuen Kontakts könnte so aussehen:

Private Sub CommandButton1_Click()
    Dim Anzahl_Einträge As Integer
    Anzahl_Einträge = lstbox.ListCount

    lstbox.ColumnCount = 3
    lstbox.AddItem txtboxName.Value
    lstbox.List(Anzahl_Einträge, 1) = txtboxEmail.Value
    lstbox.List(Anzahl_Einträge, 2) = txtboxTelefon.Value
End Sub

Tipps für Profis

  • Datenvalidierung: Stelle sicher, dass die Eingabewerte in den Textboxen validiert werden, bevor sie zur Listbox hinzugefügt werden. Dies kann durch einfache If-Abfragen realisiert werden.

  • Leeren der Listbox: Wenn du die Listbox vor dem Hinzufügen neuer Einträge leeren möchtest, kannst du lstbox.Clear verwenden.

  • Dynamisches Hinzufügen: Experimentiere mit dem Hinzufügen von Einträgen aus einer Datenquelle, wie einer Excel-Tabelle, um die Listbox dynamisch zu füllen.


FAQ: Häufige Fragen

1. Wie kann ich die Listbox leeren, bevor ich neue Einträge hinzufüge?
Verwende lstbox.Clear, um alle bestehenden Einträge zu entfernen, bevor du neue hinzufügst.

2. Was kann ich tun, wenn die Listbox nicht aktualisiert wird?
Überprüfe den Code auf Fehler und stelle sicher, dass die Werte in den Textboxen korrekt gesetzt sind. Achte auch darauf, dass der Button mit dem Code verknüpft ist.

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