Wie vervollständige ich ein Textfeld beim Eingeben in Excel automatisch?
Standardmäßig kann sich Excel merken, was Sie in die Zellen des aktuellen Arbeitsblatts eingegeben haben, und diesen Inhalt beim nächsten Eingeben eines zugehörigen Anfangsbuchstabens in eine neue Zelle automatisch vervollständigen. Wenn Sie jedoch alle Inhalte, die Sie in das Arbeitsblatt eingegeben haben, in einem Textfeld (ActiveX Control) automatisch vervollständigen möchten, wie können Sie dies tun? Dieser Artikel enthält eine VBA-Methode, mit der Sie ein Textfeld automatisch vervollständigen können, wenn Sie einen Anfangsbuchstaben eingeben.
Vervollständigen Sie ein Textfeld automatisch, wenn Sie mit VBA-Code eingeben
- Alles wiederverwenden: Fügen Sie Ihren Favoriten die am häufigsten verwendeten oder komplexesten Formeln, Diagramme und alles andere hinzu und verwenden Sie sie in Zukunft schnell wieder.
- Mehr als 20 Textfunktionen: Nummer aus Textzeichenfolge extrahieren; Teile von Texten extrahieren oder entfernen; Zahlen und Währungen in englische Wörter umwandeln.
- Tools zusammenführen: Mehrere Arbeitsmappen und Blätter in einem; Zusammenführen mehrerer Zellen / Zeilen / Spalten ohne Datenverlust; Doppelte Zeilen und Summe zusammenführen.
- Werkzeuge teilen: Aufteilen von Daten in mehrere Blätter basierend auf dem Wert; Eine Arbeitsmappe für mehrere Excel-, PDF- oder CSV-Dateien; Eine Spalte zu mehreren Spalten.
- Einfügen überspringen Versteckte / gefilterte Zeilen; Zählen und summieren nach Hintergrundfarbe;; Senden Sie personalisierte E-Mails in großen Mengen an mehrere Empfänger.
- Superfilter: Erstellen Sie erweiterte Filterschemata und wenden Sie sie auf alle Blätter an. Sortieren nach Woche, Tag, Häufigkeit und mehr; Filter durch Fettdruck, Formeln, Kommentar ...
- Mehr als 300 leistungsstarke Funktionen; Funktioniert mit Office 2007-2021 und 365; Unterstützt alle Sprachen; Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation.
Vervollständigen Sie ein Textfeld automatisch, wenn Sie mit VBA-Code eingeben
Gehen Sie wie folgt vor, damit ein Textfeld automatisch vervollständigt wird, wenn Sie einen Anfangsbuchstaben in das Textfeld eingeben.
1. Bitte fügen Sie ein Textfeld ein, indem Sie auf klicken Entwickler:in / Unternehmen > Insert > Textfeld (ActiveX-Steuerelement). Siehe Screenshot:
2. Und dann klicken Entwickler:in / Unternehmen > Insert > Listenfeld (ActiveX Control) um ein Listenfeld in das aktuelle Arbeitsblatt einzufügen. Siehe Screenshot:
3. Klicken Sie mit der rechten Maustaste auf die Registerkarte Blatt, und klicken Sie dann auf Code anzeigen aus dem Kontextmenü wie unten Screenshot gezeigt.
4. In dem Microsoft Visual Basic für Applikationen Bitte kopieren Sie den folgenden VBA-Code und fügen Sie ihn in das Code-Fenster ein. Und dann klicken Tools > Referenzenund überprüfen Sie dann die Microsoft Scripting-Laufzeit Box in der Referenzen - VBAProject Dialogbox. Siehe Screenshot:
VBA-Code: Vervollständigen Sie beim Eingeben automatisch ein Textfeld
Dim xRg As Range
Dim xDic As New Dictionary
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Me.TextBox1.Value = Me.ListBox1.Value
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xVal As String
On Error Resume Next
If IsNumeric(Target.Value) Then
xVal = Str(Target.Value)
Else
xVal = Target.Value
End If
If xVal <> "" Then
If Not xDic.Exists(xVal) Then
xDic.Add xVal, xVal
End If
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.ListBox1.Visible = False
End Sub
Private Sub Worksheet_Activate()
Dim I As Long
Dim xStr As String
On Error Resume Next
If xRg Is Nothing Then
Set xRg = ActiveSheet.UsedRange
End If
Me.ListBox1.Visible = False
xDic.RemoveAll
With Me.ListBox1
For I = 1 To xRg.Count
xStr = xRg(I).Value
If xStr <> "" Then
.AddItem xStr
If Not xDic.Exists(xStr) Then
xDic.Add xStr, xStr
End If
End If
Next
End With
End Sub
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
With Me.ListBox1
.Top = Me.TextBox1.Top
.Left = Me.TextBox1.Left + Me.TextBox1.Width
.Width = Me.TextBox1.Width
End With
TextBoxVal Me.TextBox1.Object
End Sub
Sub TextBoxVal(xTextBox As Variant)
Dim I As Long
Dim xStr As String
On Error Resume Next
Application.ScreenUpdating = False
If xRg Is Nothing Then Exit Sub
Me.ListBox1.Clear
xStr = xTextBox.Value
If xStr = "" Then
Me.ListBox1.Visible = False
Application.EnableEvents = True
Exit Sub
End If
For I = 0 To UBound(xDic.Items)
If Left(xDic.Items(I), Len(xStr)) = xStr Then
Me.ListBox1.AddItem xDic.Items(I)
End If
Next
Me.ListBox1.Visible = True
If Me.ListBox1.ListCount > 0 Then
With xTextBox
.Value = Me.ListBox1.List(0)
.SelStart = Len(xStr)
.SelLength = Len(Me.ListBox1.List(0))
End With
End If
Me.ListBox1.Activate
Me.ListBox1.Selected(0) = True
Application.ScreenUpdating = True
End Sub
Private Sub ListBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
Me.TextBox1.Value = Me.ListBox1.Value
End If
End Sub
Hinweis: Im Code, ListBox1 und Textfeld1 sind die Namen des Listenfelds und des Textfelds, die Sie in Ihr Arbeitsblatt eingefügt haben.
5. Drücken Sie die Taste Andere + Q Tasten zum Verlassen des Microsoft Visual Basic für Applikationen Fenster.
6. Schalten Sie den Entwurfsmodus aus, indem Sie auf klicken Entwickler:in / Unternehmen > Entwurfsmodus im Arbeitsblatt.
7. Wechseln Sie nun zu einem anderen Arbeitsblatt und kehren Sie zum vorherigen Arbeitsblatt zurück, um den VBA-Code zu aktivieren.
Von nun an. Wenn Sie einen Anfangsbuchstaben in das Textfeld eingeben, werden alle Texte, die mit dem Buchstaben beginnen, den Sie in das Arbeitsblatt eingegeben haben, im Listenfeld auf der rechten Seite des Textfelds aufgelistet. Bitte doppelklicken Sie auf die gewünschte, um sie in das Textfeld einzugeben. Siehe Screenshot:
Hinweis: Du kannst den ... benutzen Up or Nach unten Pfeiltaste, um zwischen allen Texten mit automatischer Vervollständigung im Listenfeld zu wechseln, und drücken Sie dann die Taste Weiter Geben Sie die erforderliche Taste in das Textfeld ein.
In Verbindung stehende Artikel:
- Wie wähle ich automatisch Text eines Textfelds aus, wenn es in Excel ausgewählt wird?
- Wie lösche ich den Inhalt des Textfelds, wenn ich in Excel klicke?
- Wie verkette ich Texte mehrerer Zellen in ein Textfeld in Excel?
- Wie deaktiviere ich die Bearbeitung im Textfeld, um Benutzereingaben in Excel zu verhindern?
- Wie formatiere ich ein Textfeld als Prozentsatz in Excel?
Die besten Tools für die Office-Produktivität
Kutools for Excel löst die meisten Ihrer Probleme und erhöht Ihre Produktivität um 80%
- Wiederverwendung: Schnell einfügen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
- Super Formelriegel (leicht mehrere Textzeilen und Formeln bearbeiten); Layout lesen (leichtes Lesen und Bearbeiten einer großen Anzahl von Zellen); In gefilterten Bereich einfügen...
- Zellen / Zeilen / Spalten zusammenführen ohne Daten zu verlieren; Inhalt geteilter Zellen; Kombinieren Sie doppelte Zeilen / Spalten... doppelte Zellen verhindern; Bereiche vergleichen...
- Wählen Sie Duplizieren oder Eindeutig Reihen; Wählen Sie Leere Zeilen (alle Zellen sind leer); Super Find und Fuzzy Find in vielen Arbeitsmappen; Zufällige Auswahl ...
- Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen zu mehreren Blättern; Aufzählungszeichen einfügen, Kontrollkästchen und mehr ...
- Text extrahieren, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen;; Paging-Zwischensummen erstellen und drucken; Inhalt und Kommentare zwischen Zellen konvertieren...
- Superfilter (Speichern und Anwenden von Filterschemata auf andere Blätter); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
- Kombinieren Sie Arbeitsmappen und Arbeitsblätter;; Tabellen basierend auf Schlüsselspalten zusammenführen; Daten in mehrere Blätter aufteilen; Batch-Konvertierung von xls, xlsx und PDF...
- Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2021 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. 30-tägige kostenlose Testversion mit allen Funktionen. 60 Tage Geld-zurück-Garantie.

Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich
- Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
- Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!
