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

Forumthread: ComboBox Inhalt - leere Zellen ignorieren

ComboBox Inhalt - leere Zellen ignorieren
26.09.2006 22:01:07
Martin
Hallo und Guten Abend liebe Excel-eratoren!
Ja, er schon wieder! In meiner UF habe ich ein ComboBox die von der Tabelle "Eingaben" gefüllt wird. Der Code sieht so aus:

Private Sub UserForm_Initialize()
With ComboBox1
.AddItem Sheets("Eingaben").Range("D1")
.AddItem Sheets("Eingaben").Range("D2")
.AddItem Sheets("Eingaben").Range("D3")
.AddItem Sheets("Eingaben").Range("D4")
.AddItem Sheets("Eingaben").Range("D5")
.AddItem Sheets("Eingaben").Range("D6")
.AddItem Sheets("Eingaben").Range("D7")
.AddItem Sheets("Eingaben").Range("D8")
.AddItem Sheets("Eingaben").Range("D9")
.AddItem Sheets("Eingaben").Range("D10")
.AddItem Sheets("Eingaben").Range("D11")
.AddItem Sheets("Eingaben").Range("D12")
.AddItem Sheets("Eingaben").Range("D13")
.AddItem Sheets("Eingaben").Range("D14")
.AddItem Sheets("Eingaben").Range("D15")
.AddItem Sheets("Eingaben").Range("D16")
.AddItem Sheets("Eingaben").Range("D17")
End With
End Sub

Funktioniert auch so weit OK, nur die leeren Zellen (wo noch kein Eintrag vorhanden ist), werden auch angezeigt. Lässt sich dieses irgendwie unterbinden. Es sollen also nur die Zellen angezeigt werden wo was drin steht. Habe leider auch nichts passendes im Archiv gefunden.
Einen schönen Abend noch und
Grüße aus dem verregneten Knast in Celle!
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: ComboBox Inhalt - leere Zellen ignorieren
26.09.2006 22:06:39
Konni
Option Explicit

Private Sub UserForm_Initialize()
Dim i As Long
With ComboBox1
For i = 1 To 17
If Not IsEmpty(Sheets("Eingaben").Cells(i, 4)) Then
.AddItem Sheets("Eingaben").Cells(i, 4)
End If
Next
End With
End Sub

mfg Konni
AW: ComboBox Inhalt - leere Zellen ignorieren
26.09.2006 22:13:56
Martin
Hallo Konni,
ich bin schwer begeistert. Das klappt auf Anhieb. Gibt es eine Möglichkeit die Eingaben aus dem genannten Bereich alphabetisch zu sortieren? Wäre ja auch schön....
Gruß
Martin
Anzeige
AW: ComboBox Inhalt - leere Zellen ignorieren
26.09.2006 23:05:24
chris
Hallo Martin was hälst du davon ?

Private Sub UserForm_Initialize()
Dim i As Long
Worksheets("Eingaben").Range("D1:D17").Sort Key1:=Range("D1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
With ComboBox1
For i = 1 To 17
If Not IsEmpty(Sheets("Eingaben").Cells(i, 4)) Then
.AddItem Sheets("Eingaben").Cells(i, 4)
End If
Next
End With
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

ComboBox in Excel: Leere Zellen Ignorieren


Schritt-für-Schritt-Anleitung

Um in einer ComboBox in Excel leere Zellen zu ignorieren, kannst Du den folgenden VBA-Code verwenden. Dieser Code sorgt dafür, dass nur die Zellen mit Werten in die ComboBox eingetragen werden:

  1. Öffne Deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge in das entsprechende UserForm den folgenden Code ein:
Private Sub UserForm_Initialize()
    Dim i As Long
    With ComboBox1
        For i = 1 To 17
            If Not IsEmpty(Sheets("Eingaben").Cells(i, 4)) Then
                .AddItem Sheets("Eingaben").Cells(i, 4)
            End If
        Next
    End With
End Sub
  1. Stelle sicher, dass Du den Bereich der Zellen, die Du einfügen möchtest, anpasst (in diesem Fall D1:D17).
  2. Schließe den VBA-Editor und teste die ComboBox.

Häufige Fehler und Lösungen

  • Problem: Leere Zellen werden trotzdem angezeigt.

    • Lösung: Überprüfe, ob der Code für die ComboBox korrekt ist. Stelle sicher, dass die IsEmpty-Überprüfung vorhanden ist.
  • Problem: Die ComboBox zeigt keine Werte an.

    • Lösung: Stelle sicher, dass die Tabelle "Eingaben" existiert und die Werte in den Zellen tatsächlich vorhanden sind.

Alternative Methoden

Eine alternative Methode, um leere Zellen in Excel zu ignorieren, besteht darin, die Werte zuerst zu sortieren und dann in die ComboBox einzufügen. Hier ein Beispiel:

Private Sub UserForm_Initialize()
    Dim i As Long
    Worksheets("Eingaben").Range("D1:D17").Sort Key1:=Range("D1"), Order1:=xlAscending, Header:=xlGuess
    With ComboBox1
        For i = 1 To 17
            If Not IsEmpty(Sheets("Eingaben").Cells(i, 4)) Then
                .AddItem Sheets("Eingaben").Cells(i, 4)
            End If
        Next
    End With
End Sub

Diese Methode sorgt dafür, dass die Liste alphabetisch sortiert ist und leere Zellen ignoriert werden.


Praktische Beispiele

Wenn Du eine Excel-Liste hast, die beispielsweise die Namen von Produkten enthält und einige Zellen leer sind, kannst Du den oben genannten VBA-Code verwenden, um sicherzustellen, dass nur die Namen in der ComboBox angezeigt werden. Dies ermöglicht eine benutzerfreundliche Auswahl und verhindert Verwirrung durch leere Einträge.


Tipps für Profis

  • Um die Performance zu verbessern, kannst Du den Bereich der Zellen dynamisch erfassen, anstatt eine feste Anzahl (z. B. D1:D17) zu verwenden. Dies ist besonders nützlich, wenn Du oft neue Daten hinzufügst.

  • Überlege, ob Du die Datenquelle für die ComboBox über eine Tabelle anstelle von festen Zellbezügen definierst. So kannst Du leere Zellen noch einfacher ignorieren und die Wartung wird erleichtert.


FAQ: Häufige Fragen

1. Wie kann ich die ComboBox mit einer größeren Datenmenge füllen? Du kannst die Schleife im Code anpassen, um einen größeren Bereich zu durchlaufen. Achte darauf, dass Du leere Zellen weiterhin ignorierst.

2. Gibt es eine Möglichkeit, die ComboBox automatisch zu aktualisieren? Ja, Du kannst die Methode UserForm_Initialize anpassen, um die ComboBox bei jeder Öffnung des UserForms zu aktualisieren.

3. Wie sortiere ich die Liste alphabetisch? Verwende die Sortierfunktion in Excel, bevor Du die Werte in die ComboBox einfügst, wie im Beispiel gezeigt.

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