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

Prüfen ob ComboBox gefüllt ist

Forumthread: Prüfen ob ComboBox gefüllt ist

Prüfen ob ComboBox gefüllt ist
René
Hallo,
könnt Ihr mir bitte einen Tip geben? Was muss ich schreiben wenn ich prüfen will ob in einer ComboBox etwas ausgewählt ist
Wenn man prüfen will ob nichts drin steht ist es
If ComboBox11.Value ""
MfG René
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Prüfen ob ComboBox gefüllt ist
29.03.2011 12:24:42
Rudi
Hallo,
Wenn man prüfen will ob nichts drin steht ist es
If ComboBox11.Value  ""

Quatsch.
Das ist genau das, was du suchst. Oder frag den Listindex ab.
Gruß
Rudi
If ComboBox1.ListIndex > -1 Then oT.
29.03.2011 12:25:22
Tino
AW: If ComboBox1.ListIndex > -1 Then oT.
29.03.2011 12:55:26
René
Hallo Tino,
vielen Dank an Dich. Funktioniert
Hallo Rudi,
es war doch kein Quatsch.
MfG René
Anzeige
Doch, es war Quatsch! owT
29.03.2011 13:03:14
Kawensmann
owT
AW: Doch, es war Quatsch! owT
29.03.2011 13:31:23
René
ohne Kommentar
;
Anzeige

Infobox / Tutorial

Prüfen, ob eine ComboBox gefüllt ist


Schritt-für-Schritt-Anleitung

Um zu prüfen, ob eine ComboBox in Excel gefüllt ist, kannst Du den folgenden VBA-Code verwenden. Dies ist besonders nützlich, wenn Du sicherstellen möchtest, dass der Benutzer eine Auswahl getroffen hat, bevor er mit weiteren Aktionen fortfährt.

  1. Öffne den VBA-Editor (Drücke ALT + F11).
  2. Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject" -> Einfügen -> Modul).
  3. Füge den folgenden Code in das Modul ein:
Sub CheckComboBox()
    If ComboBox11.Value <> "" Then
        MsgBox "ComboBox ist gefüllt!"
    Else
        MsgBox "Bitte wähle einen Wert aus der ComboBox."
    End If
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Deinem Excel-Dokument.
  2. Füge einen Button hinzu, um das Makro auszuführen und teste die Funktion.

Häufige Fehler und Lösungen

  • Fehler: "Typenübereinstimmung".

    • Lösung: Stelle sicher, dass Du die ComboBox korrekt referenzierst. Überprüfe, ob Du die richtige Form oder das richtige Arbeitsblatt verwendest.
  • Fehler: ComboBox gibt einen leeren Wert zurück, obwohl eine Auswahl getroffen wurde.

    • Lösung: Überprüfe den ListIndex der ComboBox. Verwende stattdessen die folgende Bedingung:
If ComboBox11.ListIndex > -1 Then
    ' Code hier
End If

Dies stellt sicher, dass eine Auswahl getroffen wurde, da der ListIndex auf -1 gesetzt ist, wenn nichts ausgewählt ist.


Alternative Methoden

Es gibt mehrere Möglichkeiten, um zu überprüfen, ob eine ComboBox in Excel gefüllt ist:

  1. Verwendung von ListIndex: Wie bereits erwähnt, kannst Du den ListIndex der ComboBox abfragen.
  2. Verwendung von Worksheet_Change-Ereignissen: Du kannst auch ein Ereignis verwenden, um zu reagieren, wenn der Benutzer eine Auswahl trifft.

Hier ein Beispiel für das Worksheet_Change-Ereignis:

Private Sub ComboBox11_Change()
    If ComboBox11.ListIndex > -1 Then
        MsgBox "Wahl getroffen!"
    End If
End Sub

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du die ComboBox-Überprüfung in verschiedenen Szenarien verwenden kannst:

  • Formularvalidierung: Du hast ein Formular, das ausgefüllt werden muss. Stelle sicher, dass der Benutzer eine Auswahl trifft, bevor er das Formular absendet.
  • Dynamische Inhalte: Wenn eine ComboBox abhängige Werte aus einer anderen ComboBox hat, kannst Du die Überprüfung verwenden, um sicherzustellen, dass der Benutzer die richtigen Schritte befolgt.
If ComboBox1.ListIndex > -1 Then
    ' Lade abhängige Daten in ComboBox2
End If

Tipps für Profis

  • Verwende Namenssteuerungen: Um die Lesbarkeit Deines Codes zu verbessern, benenne Deine ComboBoxen sinnvoll. Anstatt "ComboBox11" zu verwenden, nenne sie z.B. "cmbAuswahl".
  • Erstelle benutzerdefinierte Fehlermeldungen: Anstatt standardmäßige Meldungen zu verwenden, passe die Nachrichten an, um dem Benutzer spezifischere Informationen zu geben.
  • Testen in verschiedenen Versionen: Beachte, dass einige Funktionen in unterschiedlichen Excel-Versionen variieren können. Teste Deinen Code daher in der Version, die Du verwendest.

FAQ: Häufige Fragen

1. Wie kann ich mehrere ComboBoxen gleichzeitig überprüfen?
Du kannst eine Schleife verwenden, um durch alle ComboBoxen zu iterieren und jede einzeln zu überprüfen:

For Each ctrl In Me.Controls
    If TypeName(ctrl) = "ComboBox" Then
        If ctrl.ListIndex = -1 Then
            MsgBox "Bitte wähle einen Wert aus " & ctrl.Name
        End If
    End If
Next ctrl

2. Was ist der Unterschied zwischen Value und ListIndex?
Der Value gibt den aktuell ausgewählten Text in der ComboBox zurück, während ListIndex die Position des ausgewählten Wertes in der Liste angibt. Ein ListIndex von -1 bedeutet, dass nichts ausgewählt wurde.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige