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

Forumthread: Eingabe in Combobox überprüfen

Eingabe in Combobox überprüfen
Annette
Hallo,
meine Combobox bezieht die "Füllung" über einen Bereich von einem Blatt:
Private Sub UserForm_Activate()
Dim rng As Range
With Worksheets("Tabelle2")
Set rng = .Range(.Range("C12"), .Range("C65536").End(xlUp))
End With
ComboBox1.RowSource = rng.Address(External:=True)
End Sub
Wie kann ich nun verhindern, dass der Nutzer irgendwelche Daten in das Feld eingibt, welche nicht in der Liste vorhanden sind?
Danke im voraus
Annette
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Eingabe in Combobox überprüfen
18.04.2011 19:48:22
Hajo_Zi
Hallo Annette,
Kombinationsfeld (Combo Box)
Style = 0 neue Eingaben
Style = 2 nur Vorgabewerte

Danke :-) oT
18.04.2011 21:06:12
Annette
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Eingabe in Combobox überprüfen


Schritt-für-Schritt-Anleitung

Um zu verhindern, dass Nutzer Daten in die Combobox eingeben, die nicht in der Liste vorhanden sind, kannst Du die Style-Eigenschaft der Combobox anpassen. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Dein Excel-Dokument und gehe zu dem UserForm, das die Combobox enthält.

  2. Klicke mit der rechten Maustaste auf die Combobox und wähle "Eigenschaften".

  3. Suche die Style-Eigenschaft:

    • Setze Style auf 2 (nur Vorgabewerte).
  4. Füge den folgenden VBA-Code in das UserForm ein, um die Quelle der Combobox festzulegen:

    Private Sub UserForm_Activate()
       Dim rng As Range
       With Worksheets("Tabelle2")
           Set rng = .Range(.Range("C12"), .Range("C65536").End(xlUp))
       End With
       ComboBox1.RowSource = rng.Address(External:=True)
    End Sub
  5. Teste das UserForm, um sicherzustellen, dass Nutzer nur die vorgegebenen Werte auswählen können.


Häufige Fehler und Lösungen

  • Fehler: Nutzer können unbeabsichtigt Daten eingeben, die nicht in der Liste sind.

    • Lösung: Stelle sicher, dass die Style-Eigenschaft der Combobox auf 2 gesetzt ist.
  • Fehler: Die Liste in der Combobox wird nicht angezeigt.

    • Lösung: Überprüfe den VBA-Code und stelle sicher, dass der Bereich korrekt festgelegt ist.

Alternative Methoden

Falls Du eine alternative Methode zur Eingabekontrolle in einer Combobox bevorzugst, kannst Du auch die BeforeUpdate-Ereignisprozedur verwenden:

Private Sub ComboBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
    Dim rng As Range
    Set rng = Worksheets("Tabelle2").Range("C12:C65536")

    If IsEmpty(Application.Match(ComboBox1.Value, rng, 0)) Then
        MsgBox "Bitte wählen Sie einen Wert aus der Liste!", vbExclamation
        Cancel = True
    End If
End Sub

Diese Methode gibt eine Fehlermeldung aus, wenn der eingegebene Wert nicht in der Liste vorhanden ist.


Praktische Beispiele

Ein praktisches Beispiel könnte eine Combobox in einem Formular zur Dateneingabe für Kunden sein. Wenn die Combobox die Kundennamen enthält, kannst Du sicherstellen, dass nur bereits registrierte Kunden ausgewählt werden können.

Der VBA-Code, um die Quelle der Combobox festzulegen, bleibt der gleiche. Denke daran, die Style-Eigenschaft entsprechend anzupassen.


Tipps für Profis

  • Verwende die ListIndex-Eigenschaft, um zu überprüfen, ob ein ausgewählter Wert gültig ist.
  • Berücksichtige die Verwendung von Datenüberprüfung in Excel, um zusätzliche Eingabekontrollen zu implementieren.
  • Halte Deine Liste in der Quelle immer aktuell, um sicherzustellen, dass die Combobox relevante Informationen anzeigt.

FAQ: Häufige Fragen

1. Frage: Wie kann ich mehrere Werte in die Combobox einfügen?
Antwort: Du kannst den Bereich in der RowSource-Eigenschaft anpassen, um mehrere Zellen einzubeziehen.

2. Frage: Was passiert, wenn ich die Style-Eigenschaft nicht setze?
Antwort: Wenn die Style-Eigenschaft nicht gesetzt ist, wird der Standardwert verwendet, der es Nutzern erlaubt, beliebige Eingaben zu machen, was zu Fehlern führen kann.

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