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

Textbox in UF mit "Auto-Vervollständigen"?

Forumthread: Textbox in UF mit "Auto-Vervollständigen"?

Textbox in UF mit "Auto-Vervollständigen"?
04.04.2005 08:21:36
Olli
Hallo liebe Forumsgemeinde,
ich habe da mal eine Frage und hoffe, dass mir hier wer helfen kann.
Ich habe in einer Userform u.a. eine Textbox, deren Wert anschließend in einer Spalte übertragen wird. Gibt es eine Möglichkeit, diese Textbox mit der Funktion "Auto-Vervollständigen" zu belegen?
Also, wenn man in der Textbox die ersten Buchstaben eingibt, dass Excel das Wort vervollständigt anhand der der bereits vorhandenen Werte in der entsprechenden Spalte?
Wäre toll, wenn jemand nen Tip für mich hat.
Gruß
Olli
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textbox in UF mit "Auto-Vervollständigen"?
04.04.2005 08:46:00
Hajo_Zi
Hallo Olli,
da ist Access besser geeignet. Es ist fast alles möglich in Excel, es ist nur die Frage mit welchem Aufwand.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Anzeige
AW: Textbox in UF mit "Auto-Vervollständigen"?
04.04.2005 08:48:51
Olli
Hallo Hajo,
da es sich mittlerweile um eine sehr komplexe Excel-Datei handelt, würde ich schon gerne bei Excel bleiben wollen zumal ich von Access keine Ahnung habe....
Gruß
Olli
AW: Textbox in UF mit "Auto-Vervollständigen"?
04.04.2005 09:10:06
Oberschlumpf
Hi Olli
Versuch es anstelle mit einer Textbox mal mit einer Combobox.
Die Combobox füllst Du im Activate (Open) Ereignis der UF mit schon vorhandenen Werten.
Und wenn Du dann im Eingabefeld der Combobox Text eingibst, und dann hin und wieder die Pfeil-nach-unten-Taste betätigst, wird die begonnene Texteingabe mit schon vorhandenen Werten aufgefüllt. Natürlich eben nur, wenn der Wert schon vorhanden ist. Was anderes passiert ja auch nicht bei Autovervollständigen einer Textbox.
Dies wäre ein Kompromiss, der einfacher zu gestalten ist, als das Programmieren einer Autovervollständigung in einem Textfeld.
Denn hier müsstest Du ein Array deklarieren und dieses genau so mit Werten füllen wie eben die Combobox.
Wie eine Combobox mit Werten gefüllt wird, wird mehrmals im Archiv dieses Forums erklärt.
Am besten, Du gibst in www.google.de den Suchtext "combobox füllen site:herber.de" ein.
Konnte ich helfen?
Ciao
Thorsten
Anzeige
AW: Textbox in UF mit "Auto-Vervollständigen"?
04.04.2005 09:18:42
Olli
Hallo Thorsten,
erstmal danke für Deinen Beitrag... Combobox wäre vielleicht eine Alternative...aber es stört mich das "hin und wieder die Pfeil-nach-unten-Taste".
Textmäßig kommt nicht viel in die Textbox...aber sie wiederholen sich halt öfters....ist auch nur so eine Idee gewesen, um mir das Leben mit der Datenbank noch einfacher zu gestalten.... ;o)
Der Aufwand aus der Textbox eine Combobox zu machen und dann hin und wieder die Pfeil-nach-unten-Taste zu betätigen....das lohnt glaub ich nicht.... hatte gehofft, dass sich diese Autovervollständigung leicht programmieren lasse....
Gruß
Olli
Anzeige
AW: Textbox in UF mit "Auto-Vervollständigen"?
04.04.2005 11:37:28
Ralf
Hallo Olli,
nur der Vollständigkeit halber. Das ist nicht ganz trivial. Den Code für folgendes Beispiel habe ich mir mal aus dem Netz gezogen, ist also nicht auf meinem "Mist" gewachsen. Worte die du das erstemal in die Textbox eingibst "merkt" er sich auf einem separaten Blatt (in diesem Beispiel Tabelle Worte). Da du aber "Kaum Excel/VBA Kenntnisse" angegeben hast, sehe ich es als relativ problematisch an, das in deine laufende Anwendung zu integrieren.
https://www.herber.de/bbs/user/20662.xls
Hoffe es hilft.
Gruß
Ralf
Anzeige
AW: Textbox in UF mit "Auto-Vervollständigen"?
04.04.2005 13:02:35
Olli
Hallo Ralf,
habe mir eben mal die Datei heruntergeladen. Also sie funktioniert genau so, wie ich es mir wünsche....soweit schon mal vielen Dank für den Tip ;o)
Ob meine VBA-Kenntnisse reichen, dass wird sich nun zeigen....habe schon ein bissl mehr wie "kaum VBA-Kenntnisse", aber ich würde sie auch nicht als "gut" einstufen...leider gibt es da kein Mittelding....darum sag ich lieber "kaum"....schauen wir mal...wenn´s nicht klappt, dann melde ich wieder...
Gruß
Olli
Anzeige
es funzt prima ;o)) vielen Dank
04.04.2005 13:39:18
Olli
Hallo Ralf !
Nochmals vielen Dank für den Tip. Klappt wunderbar. Habe den Code angepasst und es läuft genauso wie ich es mir vorgestellt hatte ;o) Dieses Forum ist einfach nur spitze....
Schönen Tag noch
Olli
;
Anzeige
Anzeige

Infobox / Tutorial

Auto-Vervollständigen in Excel-Userforms Implementieren


Schritt-für-Schritt-Anleitung

Um eine Textbox in einer Userform mit der Funktion "Auto-Vervollständigen" auszustatten, kannst du folgenden VBA-Code verwenden. Beachte, dass dies in Excel 2003 getestet wurde, aber die Grundzüge für neuere Versionen ähnlich sind.

  1. Öffne den Visual Basic-Editor (Alt + F11).

  2. Füge eine Userform hinzu und platziere eine Textbox auf der Form.

  3. Kopiere und füge den folgenden Code in das Codefenster der Userform ein:

    Dim WortListe As Collection
    
    Private Sub UserForm_Initialize()
       Set WortListe = New Collection
       ' Hier die bereits vorhandenen Werte hinzufügen
       On Error Resume Next
       WortListe.Add "Wert1"
       WortListe.Add "Wert2"
       WortListe.Add "Wert3"
       On Error GoTo 0
    End Sub
    
    Private Sub TextBox1_Change()
       Dim i As Long
       Dim Eingabe As String
       Eingabe = Me.TextBox1.Text
       If Eingabe = "" Then Exit Sub
       For i = 1 To WortListe.Count
           If UCase(Left(WortListe(i), Len(Eingabe))) = UCase(Eingabe) Then
               Me.TextBox1.Text = WortListe(i)
               Me.TextBox1.SelStart = Len(Eingabe)
               Exit For
           End If
       Next i
    End Sub
  4. Schließe den Editor und teste die Userform.


Häufige Fehler und Lösungen

  • Fehler: Textbox bleibt leer.

    • Lösung: Stelle sicher, dass die Werte in der Collection korrekt hinzugefügt wurden. Überprüfe die Initialisierung der Userform.
  • Fehler: Auto-Vervollständigen funktioniert nicht.

    • Lösung: Achte darauf, dass der Code im TextBox1_Change()-Ereignis korrekt ist und dass die Werte in der Collection vorhanden sind.

Alternative Methoden

Statt einer Textbox kannst du auch eine Combobox verwenden. Diese bietet eine eingebaute Autovervollständigung. Hier die Schritte:

  1. Füge eine Combobox zur Userform hinzu.
  2. Verwende den UserForm_Initialize()-Code, um die Combobox mit Werten zu füllen.
  3. Die Combobox bietet automatisch die Möglichkeit, durch Eingabe den Dropdown mit vorhandenen Werten zu filtern.

Hier ein Beispielcode für die Combobox:

Private Sub UserForm_Initialize()
    With Me.ComboBox1
        .AddItem "Wert1"
        .AddItem "Wert2"
        .AddItem "Wert3"
    End With
End Sub

Praktische Beispiele

Ein einfaches Beispiel, das die Funktionalität demonstriert, könnte eine Userform sein, in der Produkte eingegeben werden. Du kannst die Werte für bereits vorhandene Produkte in der Collection festlegen, damit die Eingabe durch Excel-Autovervollständigen erleichtert wird.

Wenn du beispielsweise eine Liste von Produktnamen hast, füge diese in die Collection im UserForm_Initialize()-Ereignis ein.


Tipps für Profis

  • Nutze Fehlerbehandlung im VBA-Code, um potenzielle Probleme beim Hinzufügen von Werten zu vermeiden.
  • Halte die Liste der Werte in einer separaten Tabelle und lade diese, um die Wartung zu erleichtern.
  • Überlege, ob du die Autovervollständigung in Excel ausschalten möchtest, wenn die Userform aktiv ist, um Verwirrung zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich die Auto-Vervollständigen-Funktion deaktivieren?
Du kannst die Auto-Vervollständigung in Excel ausschalten, indem du zu den Optionen gehst und die entsprechenden Kästchen in den Einstellungen für die Bearbeitung abwählst.

2. Funktioniert das auch in neueren Excel-Versionen?
Ja, der grundlegende VBA-Code funktioniert auch in neueren Versionen von Excel, jedoch können die Benutzeroberfläche und die Menüführung leicht variieren.

3. Was ist der Unterschied zwischen Textbox und Combobox?
Eine Textbox erlaubt freie Eingabe, während eine Combobox eine Liste von vorgegebenen Werten bietet, die durch Eingabe gefiltert werden können.

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