Skip i'r prif gynnwys

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:

Offer Cynhyrchiant Swyddfa Gorau

Nodweddion Poblogaidd: Darganfod, Amlygu neu Adnabod Dyblygiadau   |  Dileu Rhesi Gwag   |  Cyfuno Colofnau neu Gelloedd heb Colli Data   |   Rownd heb Fformiwla ...
Super-edrych: VLookup Meini Prawf Lluosog    VLookup Gwerth Lluosog  |   VLookup Ar Draws Taflenni Lluosog   |   Edrych Niwlog ....
Rhestr gwympo Uwch: Creu Rhestr Gollwng yn Gyflym   |  Rhestr Gollwng Dibynnol   |  Rhestr Gollwng Aml-ddewis ....
Rheolwr Colofn: Ychwanegu Nifer Penodol o Golofnau  |  Symud Colofnau  |  Toglo Statws Gwelededd Colofnau Cudd  |  Cymharwch Ystodau a Cholofnau ...
Nodweddion dan Sylw: Ffocws ar y Grid   |  Golwg Dylunio   |   Bar Fformiwla Mawr    Rheolwr Llyfr Gwaith a Thaflen   |  Llyfrgell Adnoddau (Testun Auto)   |  Dewiswr Dyddiad   |  Cyfuno Taflenni Gwaith   |  Amgryptio/Dadgryptio Celloedd    Anfon E-byst trwy Restr   |  Hidlo Super   |   Hidlo Arbennig (hidlo mewn print trwm/italig/strikethrough...) ...
15 Set Offer Gorau12 Testun offer (Ychwanegu Testun, Dileu Cymeriadau,...)   |   50 + Siart Mathau (Siart Gantt,...)   |   40+ Ymarferol Fformiwlâu (Cyfrifwch oedran yn seiliedig ar ben-blwydd,...)   |   19 mewnosod offer (Mewnosod Cod QR, Mewnosod Llun o'r Llwybr,...)   |   12 Trosi offer (Rhifau i Eiriau, Trosi arian cyfred,...)   |   7 Uno a Hollti offer (Rhesi Cyfuno Uwch, Celloedd Hollt,...)   |   ... a mwy

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...

tab kte 201905


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!
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Why would anyone go for writing a script when there are simpler ways to get a dropdown list???
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations