Hoe een tekstvak automatisch aanvullen tijdens het typen in Excel?
Standaard kan Excel onthouden wat u in de cellen van het huidige werkblad hebt ingevoerd en deze inhoud de volgende keer automatisch aanvullen wanneer u een gerelateerde beginletter in een nieuwe cel typt. Als u echter wilt dat alle inhoud die u in het werkblad hebt ingevoerd automatisch wordt aangevuld in een tekstvak (ActiveX-besturingselement), hoe zou u dat dan kunnen doen? Dit artikel biedt een VBA-methode om u te helpen bij het automatisch aanvullen van een tekstvak wanneer u een eerste letter erin typt.
Vul automatisch een tekstvak in tijdens het typen met VBA-code
- Hergebruik alles: Voeg de meest gebruikte of complexe formules, grafieken en al het andere toe aan uw favorieten en gebruik ze in de toekomst snel opnieuw.
- Meer dan 20 tekstfuncties: Nummer uit tekststring halen; Extract of verwijder een deel van teksten; Converteer cijfers en valuta's naar Engelse woorden.
- Tools samenvoegen: Meerdere werkmappen en bladen in één; Meerdere cellen / rijen / kolommen samenvoegen zonder gegevens te verliezen; Voeg dubbele rijen en som samen.
- Hulpmiddelen splitsen: Gegevens splitsen in meerdere bladen op basis van waarde; Eén werkmap naar meerdere Excel-, PDF- of CSV-bestanden; Eén kolom naar meerdere kolommen.
- Plakken overslaan Verborgen / gefilterde rijen; Tel en som op achtergrondkleur; Stuur gepersonaliseerde e-mails in bulk naar meerdere ontvangers.
- Superfilter: Maak geavanceerde filterschema's en pas deze toe op elk blad Soort per week, dag, frequentie en meer; filters door vetgedrukt, formules, commentaar ...
- Meer dan 300 krachtige functies; Werkt met Office 2007-2019 en 365; Ondersteunt alle talen; Eenvoudig te implementeren in uw onderneming of organisatie.
Vul automatisch een tekstvak in tijdens het typen met VBA-code

Ga als volgt te werk om een tekstvak automatisch aan te vullen wanneer u een eerste letter in het tekstvak typt.
1. Voer een tekstvak in door op te klikken Ontwikkelaar > Invoegen > Tekstvak (ActiveX-besturingselement). Zie screenshot:
2. En klik dan Ontwikkelaar > Invoegen > Keuzelijst (ActiveX-besturingselement) om een keuzelijst in het huidige werkblad in te voegen. Zie screenshot:
3. Klik met de rechtermuisknop op de bladtab en klik vervolgens op Bekijk code vanuit het contextmenu zoals hieronder getoond screenshot.
4. In de Microsoft Visual Basic voor toepassingen venster, kopieer en plak de onderstaande VBA-code in het codevenster. En klik dan Toolbox > Referentiesen controleer vervolgens de Microsoft Scripting Runtime box aan de Referenties - VBAProject dialoog venster. Zie screenshot:
VBA-code: vul een tekstvak automatisch aan tijdens het typen
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
Opmerking:: In de code, ListBox1 en Tekstvak1 zijn de naam van de keuzelijst en het tekstvak die u in uw werkblad hebt ingevoegd.
5. druk de anders + Q toetsen om het Microsoft Visual Basic voor toepassingen venster.
6. Schakel de ontwerpmodus uit door op te klikken Ontwikkelaar > Ontwerpmodus in het werkblad.
7. Ga nu naar een ander werkblad en ga dan terug naar het vorige werkblad om de VBA-code in te schakelen.
Vanaf nu. Wanneer u een beginletter in het tekstvak invoert, worden alle teksten die beginnen met die letter die u in het werkblad hebt ingevoerd, weergegeven in de keuzelijst aan de rechterkant van het tekstvak. Dubbelklik op de benodigde om deze in het tekstvak in te voeren. Zie screenshot:
Opmerking:: U kunt de gebruiken Up or Beneden pijltoets om door alle automatisch aangevulde teksten in de keuzelijst te bladeren en druk vervolgens op Enter toets om de benodigde in het tekstvak in te voeren.
Gerelateerde artikelen:
- Hoe automatisch tekst van een tekstvak selecteren wanneer deze is geselecteerd in Excel?
- Hoe de inhoud van het tekstvak te wissen wanneer erop wordt geklikt in Excel?
- Hoe teksten van meerdere cellen samen te voegen in een tekstvak in Excel?
- Hoe kan ik bewerken in tekstvak uitschakelen om te voorkomen dat de gebruiker in Excel invoert?
- Hoe een tekstvak opmaken als een percentage in Excel?
De beste tools voor kantoorproductiviteit
Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%
- visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
- Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
- Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
- Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
- Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
- Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
- Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
- Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
- Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2019 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Gratis proefperiode van 30 dagen met volledige functies. 60 dagen geld-terug-garantie.

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert elke dag honderden muisklikken!
