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

Forumthread: Eintrag in Listbox .additem(index)

Eintrag in Listbox .additem(index)
17.12.2017 19:52:11
Albert
Hallo zusammen,
seit nachmittags such ich nach einer Möglichkeit, um einer Listbox einen Eintrag hinzuzufügen... aber, nicht am Ende sondern dazwischen.
Lt. Googlesuche soll das mit .additem mit einer Indexangabe funktionieren.
Ich stell mit da wohl zu doof an.
In meiner Listbox befinden sich z.B. fünf Einträge und ich möchte an zweiter Stelle die Listbox um einen Eintrag erweitern.
Mein Versuch war:
With ListBox2
.AddItem(lfd - 1, 0) = Left(Neuer_Vorgang, InStr(1, Neuer_Vorgang, "[") - 1)
end with
Könnte mir das bitte jemand erklären? Wär euch um Hilfe echt dankbar.
Danke und Gruß
A.
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eintrag in Listbox .additem(index)
17.12.2017 19:57:48
Sepp
Hallo Albert,

Call ListBox2.AddItem(Left(Neuer_Vorgang, InStr(1, Neuer_Vorgang, "[") - 1), lfd - 1)
Gruß Sepp

AW: Eintrag in Listbox .additem(index)
17.12.2017 20:07:59
Albert
Hallo Sepp,
vielen Dank für deine schnelle Antwort.
Die Listbox nimmt das Element auf. Noch eine Frage on top...
wie fülle ich meine mehrspaltige Listbox mit dem .additem?
Gruß
A.
Anzeige
AW: Eintrag in Listbox .additem(index)
17.12.2017 20:27:47
Sepp
Hallo Albert,
With ListBox2
  .AddItem "Neu", 1
  .List(1, 1) = "Zweite Spalte"
  .List(1, 2) = "Dritte Spalte"
End With

Gruß Sepp

Anzeige
AW: Eintrag in Listbox .additem(index)
17.12.2017 20:56:39
Albert
Hallo Sepp,
vielen lieben Dank!
Funktioniert wunderbar...
Schönen Sonntag Abend noch!
Gruß
A
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Einträge in einer Listbox mit .additem in Excel VBA


Schritt-für-Schritt-Anleitung

Um einen Eintrag in eine Listbox in Excel VBA mit der Methode .additem hinzuzufügen, gehe wie folgt vor:

  1. Öffne den Visual Basic for Applications (VBA) Editor: Drücke ALT + F11 in Excel.

  2. Erstelle eine UserForm oder gehe zu einem bestehenden Modul: Füge eine UserForm hinzu oder wähle das Modul aus, in dem Du die Listbox hast.

  3. Füge eine Listbox hinzu: Ziehe eine Listbox aus der Toolbox in Deine UserForm.

  4. Verwende den folgenden VBA-Code, um einen Eintrag hinzuzufügen:

    With ListBox2
       .AddItem "Neuer Eintrag", 1 ' Fügt den Eintrag an zweiter Stelle hinzu
    End With
  5. Um mehrere Spalten zu verwenden, kannst Du den Code erweitern:

    With ListBox2
       .AddItem "Erster Eintrag", 1
       .List(1, 1) = "Zweite Spalte"
       .List(1, 2) = "Dritte Spalte"
    End With

    Hierbei wird der Eintrag in der zweiten Zeile und den entsprechenden Spalten hinzugefügt.


Häufige Fehler und Lösungen

  • Fehler: "Index außerhalb des gültigen Bereichs"

    • Lösung: Stelle sicher, dass der Index, den Du verwendest, innerhalb der aktuellen Anzahl der Einträge in der Listbox liegt.
  • Fehler: Listbox nimmt den Eintrag nicht auf

    • Lösung: Überprüfe, ob die Listbox korrekt referenziert ist und ob der Code innerhalb der richtigen Subroutine oder Funktion ausgeführt wird.
  • Fehler: Mehrspaltige Listbox zeigt keine Daten an

    • Lösung: Stelle sicher, dass die Listbox-Option für mehrere Spalten in den Eigenschaften der Listbox aktiviert ist.

Alternative Methoden

Falls Du keine UserForm verwenden möchtest, kannst Du die Listbox auch direkt in einem Arbeitsblatt verwenden. Hier ist ein Beispiel, wie Du eine Listbox in einem Arbeitsblatt mit VBA erstellen kannst:

Sub AddToListBox()
    Dim lb As Object
    Set lb = ActiveSheet.OLEObjects.Add("Forms.ListBox.1")
    With lb.Object
        .AddItem "Erster Eintrag"
        .AddItem "Zweiter Eintrag"
    End With
End Sub

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du die .additem Methode verwenden kannst:

  • Eintrag hinzufügen bei Button-Klick:

    Private Sub CommandButton1_Click()
      ListBox2.AddItem "Neuer Eintrag"
    End Sub
  • Eintrag an spezifischer Stelle hinzufügen:

    Private Sub CommandButton2_Click()
      Dim lfd As Long
      lfd = ListBox2.ListCount
      ListBox2.AddItem "Zweiter Eintrag", lfd - 1 ' Fügt an vorletzter Stelle hinzu
    End Sub

Tipps für Profis

  • Verwende Schleifen: Wenn Du viele Einträge hinzufügen möchtest, kannst Du eine Schleife verwenden, um den Code zu vereinfachen:

    Dim i As Integer
    For i = 1 To 10
      ListBox2.AddItem "Eintrag " & i
    Next i
  • Listbox leeren: Vor dem Hinzufügen neuer Einträge kannst Du die Listbox mit .Clear leeren:

    ListBox2.Clear

FAQ: Häufige Fragen

1. Wie kann ich mehrere Einträge gleichzeitig hinzufügen?
Verwende eine Schleife, um mehrere Einträge nacheinander mit der .additem Methode hinzuzufügen.

2. Kann ich die Listbox auch in einer Access-Datenbank verwenden?
Ja, die .additem Methode funktioniert auch in Access VBA, um Daten in eine Listbox hinzuzufügen.

3. Ist es möglich, Einträge zu sortieren?
Die Listbox selbst sortiert die Einträge nicht automatisch. Du kannst die Einträge vor dem Hinzufügen in ein Array sortieren und dann in die Listbox einfügen.

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