Sut i awtocomplete blwch testun wrth deipio Excel?
Yn ddiofyn, gall Excel gofio’r hyn rydych chi wedi’i nodi yng nghelloedd y daflen waith gyfredol ac awtocomplete y cynnwys hwn y tro nesaf wrth deipio llythyr cychwynnol cysylltiedig mewn cell newydd. Fodd bynnag, os ydych chi am sicrhau bod yr holl gynnwys rydych chi wedi'i nodi yn y daflen waith yn awtocomplete mewn blwch testun (ActiveX Control), sut allech chi wneud? Bydd yr erthygl hon yn darparu dull VBA i'ch helpu i awtocomplete blwch testun wrth deipio llythyr cychwynnol y tu mewn.
Autocomplete blwch testun wrth deipio gyda chod VBA
Autocomplete blwch testun wrth deipio gyda chod VBA
Gwnewch fel a ganlyn i wneud blwch testun yn awtocomplete wrth deipio llythyr cychwynnol y tu mewn i'r blwch testun.
1. Mewnosodwch flwch testun trwy glicio Datblygwr > Mewnosod > Blwch Testun (Rheoli ActiveX). Gweler y screenshot:
2. Ac yna cliciwch Datblygwr > Mewnosod > Blwch Rhestr (Rheoli ActiveX) i fewnosod blwch rhestr yn y daflen waith gyfredol. Gweler y screenshot:
3. De-gliciwch y tab dalen, yna cliciwch Gweld y Cod o'r ddewislen cyd-destun fel y dangosir isod screenshot.
4. Yn y Microsoft Visual Basic ar gyfer Ceisiadau ffenestr, copïwch a gludwch islaw'r cod VBA i mewn i ffenestr y Cod. Ac yna cliciwch offer > Cyfeiriadau, ac yna gwiriwch y Amser Rhedeg Sgriptio Microsoft blwch yn y Cyfeiriadau - VBAProject blwch deialog. Gweler y screenshot:
Cod VBA: Autocomplete blwch testun wrth deipio
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
Nodyn: Yn y cod, RhestrBox1 ac Blwch testun1 yw enw'r blwch rhestr a'r blwch testun rydych chi wedi'u mewnosod yn eich taflen waith.
5. Gwasgwch y Alt + Q allweddi i adael y Microsoft Visual Basic ar gyfer Ceisiadau ffenestr.
6. Diffoddwch y Modd Dylunio trwy glicio Datblygwr > Modd Dylunio yn y daflen waith.
7. Nawr symudwch i daflen waith arall ac yna ewch yn ôl i'r daflen waith flaenorol i alluogi'r cod VBA.
O hyn ymlaen. Wrth roi llythyr cychwynnol yn y blwch testun, bydd yr holl destunau sy'n dechrau gyda'r llythyr hwnnw rydych chi wedi'i nodi yn y daflen waith yn cael eu rhestru y tu mewn i'r blwch rhestr sydd ar ochr dde'r blwch testun. Cliciwch ddwywaith ar yr un sydd ei angen arnoch i'w nodi yn y blwch testun. Gweler y screenshot:
Nodyn: Gallwch chi ddefnyddio'r Up or Down allwedd saeth i symud ymhlith yr holl destunau awtocomplete yn y blwch rhestr, ac yna pwyswch y Rhowch allwedd i nodi'r un sydd ei angen yn y blwch testun.
Erthyglau cysylltiedig:
- Sut i ddewis testun blwch testun yn awtomatig pan fydd yn cael ei ddewis yn Excel?
- Sut i glirio cynnwys y blwch testun wrth glicio yn Excel?
- Sut i gyd-fynd â thestunau celloedd lluosog i mewn i flwch testun yn Excel?
- Sut i analluogi golygu mewn blwch testun i atal defnyddwyr rhag mewnbynnu yn Excel?
- Sut i fformatio blwch testun fel canran yn Excel?
Offer Cynhyrchiant Swyddfa Gorau
Supercharge Eich Sgiliau Excel gyda Kutools ar gyfer Excel, a Phrofiad Effeithlonrwydd Fel Erioed Erioed. Kutools ar gyfer Excel Yn Cynnig Dros 300 o Nodweddion Uwch i Hybu Cynhyrchiant ac Arbed Amser. Cliciwch Yma i Gael Y Nodwedd Sydd Ei Angen Y Mwyaf...
Mae Office Tab yn dod â rhyngwyneb Tabbed i Office, ac yn Gwneud Eich Gwaith yn Haws o lawer
- Galluogi golygu a darllen tabbed yn Word, Excel, PowerPoint, Cyhoeddwr, Mynediad, Visio a Phrosiect.
- Agor a chreu dogfennau lluosog mewn tabiau newydd o'r un ffenestr, yn hytrach nag mewn ffenestri newydd.
- Yn cynyddu eich cynhyrchiant 50%, ac yn lleihau cannoedd o gliciau llygoden i chi bob dydd!