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

Forumthread: Listbox füllen, leere Zellen ignorieren

Listbox füllen, leere Zellen ignorieren
02.08.2018 15:21:11
Chris
Guten Tag!
ich möchte eine Listbox mit Inhalten aus A2:10 einer Tabelle befüllen und dabei leere Zellen ignorieren.
Bekomme das nicht hin, dabei erscheint es mir total simple.
Ich habe eine Beispieldatei erstellt.
https://www.herber.de/bbs/user/123074.xlsm
Würde mich freuen wenn jemand zur Hilfe bereit ist.
Danke!
Gruß,
Chris
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox füllen, leere Zellen ignorieren
02.08.2018 15:53:00
Werner
Hallo Chris,
z.B. so:
Private Sub UserForm_Initialize()
Dim loLetzte As Long
With Worksheets("Blatt")
loLetzte = .Columns(1).Find(what:="*", LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:= _
xlPrevious).Row
For i = 2 To loLetzte
If .Cells(i, 1).Value  "" Then
Me.ListBox1.AddItem (.Cells(i, 1))
End If
Next i
End With
End Sub
Gruß Werner
Anzeige
AW: Listbox füllen, leere Zellen ignorieren
02.08.2018 17:35:18
Chris
Hallo Werner,
genau so!
Herzlichen Dank für deine schnelle Hilfe, du hast mir wirklich sehr weitergeholfen!!!
Gruß,
Chris
Gerne u. Danke für die Rückmeldung. o.w.T.
02.08.2018 19:27:39
Werner
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Listbox in Excel füllen und leere Zellen ignorieren


Schritt-für-Schritt-Anleitung

Um eine Listbox in Excel zu füllen und dabei leere Zellen zu ignorieren, kannst du den folgenden VBA-Code verwenden. Dieser Code wird im UserForm_Initialize-Ereignis platziert, damit die Listbox beim Öffnen des UserForms automatisch gefüllt wird.

  1. Öffne Excel und drücke Alt + F11, um den VBA-Editor zu starten.
  2. Füge ein neues UserForm hinzu, indem du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "UserForm" auswählst.
  3. Füge eine Listbox zu deinem UserForm hinzu.
  4. Doppelklicke auf den UserForm, um das Code-Fenster zu öffnen.
  5. Füge den folgenden Code ein:
Private Sub UserForm_Initialize()
    Dim loLetzte As Long
    With Worksheets("Blatt")
        loLetzte = .Columns(1).Find(what:="*", LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:= _
        xlPrevious).Row
        For i = 2 To loLetzte
            If .Cells(i, 1).Value <> "" Then
                Me.ListBox1.AddItem (.Cells(i, 1))
            End If
        Next i
    End With
End Sub
  1. Stelle sicher, dass deine Daten in der Spalte A (A2:A10) der Tabelle sind.
  2. Schließe den VBA-Editor und teste dein UserForm.

Häufige Fehler und Lösungen

  • Fehler: Listbox bleibt leer.

    • Lösung: Überprüfe, ob die Daten in der angegebenen Range (A2:A10) vorhanden sind und ob die Zellen tatsächlich leer sind. Vergewissere dich, dass der Code im richtigen UserForm platziert ist.
  • Fehler: Der Code gibt einen Laufzeitfehler zurück.

    • Lösung: Stelle sicher, dass das Arbeitsblatt "Blatt" genau so benannt ist. Andernfalls musst du den Namen im Code anpassen.

Alternative Methoden

Falls du keine VBA-Lösung verwenden möchtest, kannst du auch eine dynamische Array-Formel in Excel verwenden. Diese Methode ist jedoch etwas komplizierter und erfordert das Verständnis von Excel-Formeln.

  1. Verwende die Funktion FILTER, um nur die nicht-leeren Zellen zu extrahieren. Beispiel:
    =FILTER(A2:A10, A2:A10<>"")
  2. Du kannst die gefilterten Werte dann manuell in die Listbox einfügen.

Praktische Beispiele

Angenommen, du hast folgende Werte in den Zellen A2:A10:

A
Apfel
Banane
Orange
Kiwi

Nach Ausführung des obigen Codes wird die Listbox die folgenden Elemente enthalten:

  • Apfel
  • Banane
  • Orange
  • Kiwi

Tipps für Profis

  • Verwende die ListBox-Eigenschaft MultiSelect, um mehrere Auswahlmöglichkeiten zu ermöglichen.
  • Du kannst den VBA-Code erweitern, um auch Zellen aus anderen Spalten oder Arbeitsblättern hinzuzufügen.
  • Berücksichtige die Verwendung von Error Handling, um Laufzeitfehler im Code zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich diesen Code in einer älteren Excel-Version verwenden? Ja, der VBA-Code sollte in den meisten Excel-Versionen ab 2007 funktionieren.

2. Wie kann ich die Listbox nach dem Hinzufügen von Daten aktualisieren? Du kannst eine Schaltfläche hinzufügen, die den Code erneut ausführt, um die Listbox zu aktualisieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige