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

Forumthread: In Listbox Werte hinzufügen

In Listbox Werte hinzufügen
07.06.2005 15:40:09
Holger
Hallo zusammen,
wie kann ich in einer Listbox eine neue Zeile einfügen, welche 4 Spalten enthält und diese mit Werten füllen?
Und wie kann ich in einer Listbox eine Zeile zwischen den Zeilen einfügen?
MfG
Holger Wächter
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: In Listbox Werte hinzufügen
07.06.2005 20:22:05
Nepumuk
Hallo Holger,
ein einfaches Beispiel.
Option Explicit

Private Sub CommandButton1_Click()
    With ListBox1
        .AddItem "", 1 'neue leere Zeile 2
        .List(1, 0) = "neue Zeile"
        .List(1, 1) = "neue Zeile"
        .List(1, 2) = "neue Zeile"
        .List(1, 3) = "neue Zeile"
    End With
End Sub

Private Sub UserForm_Activate()
    Dim strWidth As String
    With ListBox1
        .ColumnCount = 4
        strWidth = (.Width - 4) / 4
        .ColumnWidths = strWidth & ";" & strWidth & _
            ";" & strWidth & ";" & strWidth
        .AddItem 'leere Zeile 1
        .List(.ListCount - 1, 0) = "Spalte 1"
        .List(.ListCount - 1, 1) = "Spalte 2"
        .List(.ListCount - 1, 2) = "Spalte 3"
        .List(.ListCount - 1, 3) = "Spalte 4"
        .AddItem 'leere Zeile 2
        .List(.ListCount - 1, 0) = "Zeile 2"
        .List(.ListCount - 1, 1) = "Zeile 2"
        .List(.ListCount - 1, 2) = "Zeile 2"
        .List(.ListCount - 1, 3) = "Zeile 2"
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: In Listbox Werte hinzufügen
08.06.2005 08:41:43
Holger
Danke Nepumuk,
aber wie kann ich jetzt eine Zeile in eine schon gefüllte Listbox, zwischen zwei Zeilen einfügen. Z.B. die Listbox hat schon Werte in 4 Zeilen. Jetzt möchte ich in Zeile 3 ein Wert dazwischen einfügen. Wie mache ich das?
MfG
Holger Wächter
AW: In Listbox Werte hinzufügen
08.06.2005 09:44:21
MichaV
Hallo Holger,
hast Du Nepomuks Code mal nachvollzogen?
Hier in etwas anderer Form, aber gleiches Prinzip. Mehr kann man dazu nicht sagen. (außer, daß hier zwischen 1. und 2. Zeile eingefügt wird)


      
Dim strWidth As String
    
With ListBox1
        .ColumnCount = 4
        strWidth = (.Width - 4) / 4
        .ColumnWidths = strWidth & ";" & strWidth & _
            ";" & strWidth & ";" & strWidth
        .AddItem 
'leere Zeile 1
        .List(.ListCount - 1, 0) = "Spalte 1"
        .List(.ListCount - 1, 1) = "Spalte 2"
        .List(.ListCount - 1, 2) = "Spalte 3"
        .List(.ListCount - 1, 3) = "Spalte 4"
        .AddItem 
'leere Zeile 2
        .List(.ListCount - 1, 0) = "Zeile 2"
        .List(.ListCount - 1, 1) = "Zeile 2"
        .List(.ListCount - 1, 2) = "Zeile 2"
        .List(.ListCount - 1, 3) = "Zeile 2"
        .AddItem , 1 
'leere Zeile zwischen 1 und ehemals 2
        .List(1, 0) = "Zeile 2 neu"
        .List(1, 1) = "Zeile 2 neu"
        .List(1, 2) = "Zeile 2 neu"
        .List(1, 3) = "Zeile 2 neu"
    
End With 
Gruss- Micha
Anzeige
AW: In Listbox Werte hinzufügen
08.06.2005 10:00:21
Holger
Ich dachte das wäre der Code für unten anfügen. Denn mit Additem fügt er doch eine Zeile immer unten an die Liste an und schreibt dann dort die neuen Werte hin.
Ich weiss nicht was ich falsch mache, aber er schreibt bei mir die Werte immer ans Ende der Listbox und nicht zwischen zwie Zeilen?
Was könnte ich falsch machen. Warum eigentlich zweimal Additem. Will doch nur eine Zeile einfügen. Es sind ja schon Werte in der Listbox vorhanden.
MfG
Holger Wächter
Anzeige
AW: In Listbox Werte hinzufügen
08.06.2005 10:07:03
Holger
Sorry,
ich bin doch manchmal ein wenig blöd. Was ich suchte war "additem ,ZeileinderListbox"
Ich hatte den oberen Code von Nepumuk als die Anfüge- und den unteren als die Einfügemethode interpretiert.
Vielen dank nochmal
MfG
Holger Wächter
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Werte in eine Listbox einfügen


Schritt-für-Schritt-Anleitung

Um Werte in eine Listbox in Excel VBA einzufügen, kannst du die AddItem-Methode verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne die VBA-Entwicklungsumgebung (Alt + F11).

  2. Füge ein UserForm hinzu und platziere ein ListBox-Steuerelement darauf.

  3. Füge einen CommandButton hinzu, um den Code auszuführen.

  4. Nutze den folgenden Code, um Werte hinzuzufügen:

    Private Sub CommandButton1_Click()
       With ListBox1
           .AddItem "", 1 ' Neue leere Zeile an Position 1
           .List(1, 0) = "Spalte 1"
           .List(1, 1) = "Spalte 2"
           .List(1, 2) = "Spalte 3"
           .List(1, 3) = "Spalte 4"
       End With
    End Sub
  5. Starte das UserForm, um die neue Zeile in der Listbox zu sehen.

Um eine Zeile zwischen bestehenden Zeilen einzufügen, kannst du den AddItem-Befehl mit einer spezifischen Position verwenden, wie im folgenden Beispiel:

.AddItem , 1 ' Fügt eine leere Zeile zwischen der ersten und zweiten Zeile ein

Häufige Fehler und Lösungen

  • Problem: Werte erscheinen immer am Ende der Listbox.

    • Lösung: Achte darauf, dass du die Position im AddItem-Befehl korrekt angibst. Wenn du AddItem ohne eine Position verwendest, wird die Zeile immer ans Ende der Listbox angehängt.
  • Problem: Der Code funktioniert nicht, weil die Listbox nicht korrekt referenziert wurde.

    • Lösung: Stelle sicher, dass der Name der Listbox im Code korrekt ist (z.B. ListBox1).
  • Problem: Ich kann keine Zeilen in die Listbox einfügen.

    • Lösung: Überprüfe, ob die ColumnCount-Eigenschaft der Listbox richtig gesetzt ist. Zum Beispiel:
    ListBox1.ColumnCount = 4

Alternative Methoden

Neben der Verwendung von AddItem kannst du auch die List-Eigenschaft nutzen, um direkt auf bestimmte Zeilen und Spalten zuzugreifen. Beispiel:

ListBox1.List(1, 0) = "Neuer Wert" ' Setzt den Wert in Zeile 1, Spalte 0

Diese Methode ist nützlich, wenn du bereits einen Platz in der Listbox hast und diesen aktualisieren möchtest.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die AddItem-Methode in verschiedenen Szenarien verwenden kannst:

  1. Fügen von mehreren Werten gleichzeitig hinzu:

    Private Sub CommandButton1_Click()
       Dim i As Integer
       For i = 0 To 4
           ListBox1.AddItem "Zeile " & i
       Next i
    End Sub
  2. Hinzufügen von Werten mit einer Schleife:

    Private Sub CommandButton2_Click()
       Dim Werte() As String
       Werte = Split("Wert1,Wert2,Wert3,Wert4", ",")
       Dim i As Integer
       For i = LBound(Werte) To UBound(Werte)
           ListBox1.AddItem Werte(i)
       Next i
    End Sub

Tipps für Profis

  • Nutze die ListCount-Eigenschaft, um die Anzahl der vorhandenen Elemente in der Listbox zu überprüfen. Damit kannst du dynamisch entscheiden, wo du neue Werte hinzufügen möchtest.

  • Verwende ListBox1.RemoveItem, um Elemente aus der Listbox zu löschen, wenn dies notwendig ist.

  • Speichere die Werte in einem Array oder einer Collection, um komplexe Datenstrukturen in der Listbox zu verwalten.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Spalten in einer Listbox anzeigen? Du musst die ColumnCount-Eigenschaft auf die Anzahl der gewünschten Spalten setzen und dann die Werte entsprechend mit List hinzufügen.

2. Kann ich die Listbox mit einem Array füllen? Ja, du kannst ein Array verwenden, um die Werte in einer Schleife hinzuzufügen, was den Prozess effizienter macht.

3. Wie füge ich eine Zeile zwischen zwei bestehenden Zeilen ein? Verwende die AddItem-Methode mit einer spezifischen Position, um eine neue Zeile einzufügen, z.B. AddItem , 2 für die zweite Position.

4. Warum funktioniert AddItem nicht, wenn ich die Listbox bearbeite? Stelle sicher, dass du den richtigen Index in der AddItem-Methode angibst und dass die Listbox nicht im Modus "eingeschränkt" ist (z.B. bei der Verwendung von Multiselect).

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