Cum se completează automat o casetă de text când se tastează în Excel?
În mod implicit, Excel poate să-și amintească ce ați introdus în celulele foii de lucru curente și să completați automat acest conținut data viitoare când introduceți o literă inițială legată într-o nouă celulă. Cu toate acestea, dacă doriți ca întregul conținut pe care l-ați introdus în foaia de lucru să fie completat automat într-o casetă de text (Control ActiveX), cum ați putea face? Acest articol va oferi o metodă VBA pentru a vă ajuta să completați automat o casetă text atunci când introduceți o literă inițială în interior.
Completați automat o casetă text când tastați cu cod VBA
- Reutilizați orice: Adăugați cele mai utilizate sau complexe formule, diagrame și orice altceva la preferatele dvs. și reutilizați-le rapid în viitor.
- Peste 20 de caracteristici text: Extrageți numărul din șirul de text; Extrageți sau eliminați o parte din texte; Conversia numerelor și valutelor în cuvinte în limba engleză.
- Instrumente de îmbinare: Mai multe cărți de lucru și foi într-unul; Combinați mai multe celule / rânduri / coloane fără a pierde date; Combinați rândurile duplicate și suma.
- Instrumente divizate: Împărțiți datele în mai multe foi bazate pe valoare; Un registru de lucru pentru mai multe fișiere Excel, PDF sau CSV; O coloană la mai multe coloane.
- Lipiți săriți Rânduri ascunse / filtrate; Număr și sumă de Culoarea fundalului; Trimiteți e-mailuri personalizate către mai mulți destinatari în bloc.
- Super Filtru: Creați scheme avansate de filtrare și aplicați oricăror foi; Sortează pe săptămână, zi, frecvență și multe altele; Filtru prin îndrăznețe, formule, comentarii ...
- Peste 300 de caracteristici puternice; Funcționează cu Office 2007-2021 și 365; Suporta toate limbile; Implementare ușoară în întreprinderea sau organizația dvs.
Completați automat o casetă text când tastați cu cod VBA
Vă rugăm să procedați după cum urmează pentru a completa completarea automată a unei cutii de text atunci când introduceți o literă inițială în interiorul casetei de text.
1. Vă rugăm să introduceți o casetă text făcând clic pe Dezvoltator > Insera > Casetă text (control ActiveX). Vedeți captura de ecran:
2. Și apoi faceți clic pe Dezvoltator > Insera > Casetă listă (control ActiveX) pentru a insera o casetă listă în foaia de lucru curentă. Vedeți captura de ecran:
3. Faceți clic dreapta pe fila foaie, apoi faceți clic pe Afișați codul din meniul contextual așa cum este prezentat mai jos.
4. În Microsoft Visual Basic pentru aplicații fereastra, vă rugăm să copiați și să lipiți mai jos codul VBA în fereastra Cod. Și apoi faceți clic pe unelte > Referinte, și apoi verificați Runtime Microsoft Scripting cutie în Referințe - VBAProject căsuță de dialog. Vedeți captura de ecran:
Cod VBA: Completați automat o casetă de text când tastați
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
notițe: În cod, ListBox1 și Caseta de text 1 sunt numele casetei de listă și textului pe care le-ați inserat în foaia de lucru.
5. apasă pe Alt + Q tastele pentru a ieși din Microsoft Visual Basic pentru aplicații fereastră.
6. Dezactivați modul Design făcând clic pe Dezvoltator > Mod de proiectare în foaia de lucru.
7. Acum treceți la o altă foaie de lucru și apoi reveniți la foaia de lucru anterioară pentru a activa codul VBA.
De-acum inainte. Când introduceți o literă inițială în caseta de text, toate textele care încep cu acea literă pe care ați introdus-o în foaia de lucru vor fi listate în caseta de listă care se află în partea dreaptă a casetei de text. Vă rugăm să faceți dublu clic pe cel necesar pentru al introduce în caseta de text. Vedeți captura de ecran:
notițe: Puteți folosi funcția Up or Jos tasta săgeată pentru a vă deplasa printre toate textele de completare automată din caseta de listă, apoi apăsați tasta Intrați tasta pentru a introduce cea necesară în caseta de text.
Legate de articole:
- Cum se selectează automat textul unei casete de text când este selectat în Excel?
- Cum se șterge conținutul casetei de text atunci când se face clic în Excel?
- Cum se concatenează textele mai multor celule într-o casetă text în Excel?
- Cum se dezactivează editarea în caseta de text pentru a preveni introducerea de utilizatori în Excel?
- Cum să formatați o casetă text ca procent în Excel?
Cele mai bune instrumente de productivitate Office
Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%
- reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
- Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
- Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
- Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
- Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
- Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
- Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
- Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
- Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară
- Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
- Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ferestrele noi.
- Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
