Vorschläge bei Eingabe in Excel-Textboxen
Schritt-für-Schritt-Anleitung
Um in einer Excel-Userform eine Textbox zu erstellen, die Vorschläge bei der Eingabe unterbreitet, kannst Du die folgenden Schritte befolgen:
-
Userform erstellen:
- Öffne den VBA-Editor mit
ALT + F11
.
- Füge eine neue Userform hinzu.
-
Textbox hinzufügen:
- Ziehe eine Textbox in die Userform.
-
Listbox hinzufügen:
- Füge eine Listbox hinzu, um die Vorschläge anzuzeigen.
-
Datenquelle definieren:
- Stelle sicher, dass Du eine Liste von Namen oder Begriffen in einem Excel-Arbeitsblatt hast.
-
Code für die Autovervollständigung:
- Klicke mit der rechten Maustaste auf die Userform und wähle „Code anzeigen“.
- Füge den folgenden Code hinzu:
Private Sub TextBox1_Change()
Dim i As Integer
Dim Vorschläge As Collection
Set Vorschläge = New Collection
On Error Resume Next
For i = 1 To 100 ' Passe die Anzahl der Namen an
If InStr(1, Cells(i, 1).Value, TextBox1.Text, vbTextCompare) > 0 Then
Vorschläge.Add Cells(i, 1).Value
End If
Next i
On Error GoTo 0
ListBox1.Clear
For i = 1 To Vorschläge.Count
ListBox1.AddItem Vorschläge(i)
Next i
End Sub
Private Sub ListBox1_Click()
TextBox1.Text = ListBox1.Value
End Sub
-
Userform testen:
- Führe die Userform aus und teste die Funktionalität. Wenn Du mit der Eingabe beginnst, sollten Vorschläge erscheinen.
Häufige Fehler und Lösungen
-
Fehler: Listbox bleibt leer
Lösung: Überprüfe, ob die Datenquelle korrekt definiert ist und ob die Zellen tatsächlich Werte enthalten.
-
Fehler: Groß- und Kleinschreibung wird nicht ignoriert
Lösung: Stelle sicher, dass vbTextCompare
im InStr
-Befehl verwendet wird, um die Groß-/Kleinschreibung zu ignorieren.
Alternative Methoden
Eine andere Möglichkeit, Vorschläge bei der Eingabe in Excel zu erhalten, ist die Verwendung einer ComboBox. Hierbei kannst Du die Eigenschaft ShowDropButtonWhen
auf fmShowDropButtonWhenNever
setzen, um eine ähnliche Funktionalität wie bei der Textbox zu erreichen, ohne dass der Benutzer die Dropdown-Liste zwingend auswählen muss.
Praktische Beispiele
-
Vorschläge für Namen: Wenn Du eine Liste von Kundennamen hast, kannst Du beim Tippen in die Textbox Vorschläge für Namen anzeigen lassen, die mit den eingegebenen Buchstaben beginnen.
-
Vorschläge für Produkte: Ähnlich wie bei den Namen kannst Du auch Produktbezeichnungen in einer Liste haben und Vorschläge anzeigen lassen, wenn der Benutzer mit der Eingabe beginnt.
Tipps für Profis
- Nutze VBA-Funktionen, um die Vorschläge dynamisch zu filtern, je nachdem, was der Benutzer eingibt.
- Experimentiere mit der Größe und dem Layout der Listbox, um die Benutzererfahrung zu verbessern.
- Berücksichtige die Möglichkeit, Vorschläge zu sortieren oder zu priorisieren, um die relevantesten Ergebnisse zuerst anzuzeigen.
FAQ: Häufige Fragen
1. Wie viele Vorschläge kann ich anzeigen?
Du kannst die Anzahl der angezeigten Vorschläge anpassen, indem Du die Schleife im Code entsprechend änderst.
2. Kann ich Vorschläge auf Englisch anzeigen?
Ja, Du kannst die Datenquelle entsprechend anpassen und den Code so ändern, dass er die Vorschläge auf Englisch anzeigt.
3. Was ist der Unterschied zwischen Textbox und ComboBox?
Eine Textbox erlaubt es dem Benutzer, Text einzugeben, während eine ComboBox eine Auswahl von vorgegebenen Werten bietet. Wenn Du mehr Flexibilität wünschst, ist die Textbox die bessere Wahl.