TextBox Auto Suggest

TextBox Auto Suggest

Pada tutorial kali ini, saya membuat textbox dengan Auto Suggest pada hasil pencarian ala ala google sheet. Teknik yang saya gunakan disini adalah dengan membuat sebuah Listbox saat runtime, dan juga membuat Events dalam class.

Untuk membuat textbox dengan auto suggest ala google caranya mudah, pertama buat terlebih dahuli sebuah design dengan menggunakan 1 Textbox dan 1 Image Control.

Contohnya seperti pada gambar dibawah ini.

Silahkan atur design sesuai dengan selera masing masing. Selanjutkan tinggal masukan script pada userform tersebut.

Dim LsbA As MSForms.ListBox
Dim ELsB As EventsClass

Private Sub TextBox1_Change()
Dim I As Long

Call IsiListbox
For I = LsbA.ListCount - 1 To 0 Step -1
    If Not LCase(LsbA.List(I, 0)) Like "*" & LCase(TextBox1.Text) & "*" Then
        LsbA.RemoveItem (I)
    End If
Next

With LsbA
    .Height = .ListCount * 14
    .Visible = Not TextBox1.Text = ""
End With

End Sub

Private Sub UserForm_Initialize()
Dim Lsb As MSForms.ListBox

'Membuat Listbox Untuk Hasil Suggest
Set Lsb = Me.Controls.Add("Forms.listbox.1", "ListboxKu")
    With Lsb
        .Visible = False
        .Top = TextBox1.Top + 25
        .Left = TextBox1.Left
        .Width = TextBox1.Width
        .Font.Size = 10
        .BorderStyle = fmBorderStyleSingle
        .SpecialEffect = fmSpecialEffectFlat
    End With

Set LsbA = Controls("ListboxKu")
'Buat Events untuk Listbox
Set ELsB = New EventsClass
Set ELsB.Lsb = LsbA

Call IsiListbox
End Sub

Private Sub IsiListbox()
Dim BA As Long

'Isi Listbox dari Data Sheet1 
BA = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
LsbA.List = Sheet1.Range("A2:A" & BA).Value
End Sub

Karena listbox dibuat saat runtime, maka events untuk Listbox tersebut harus dibuat dalam class.

Untuk Events nya bisa dibuat seperti ini. Simpan script dibawah ini pada sebuah class module

Public WithEvents Lsb As MSForms.ListBox

Private Sub Lsb_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
UserForm1.TextBox1.Text = Lsb.Column(0)
Lsb.Visible = False
End Sub
List Tutorial
Apa yang sedang kamu cari?

Temukan beberapa kata kunci yang diinginkan.

Search