Bagaimana jikalau menciptakan data saat entri pada textbox yang ada di UserForm akan otomatis menghasilkan data yang sama jikalau ditemukan di list yang ada di workshee? Jika Anda memakai combobox mungkin akan dapat dilakukan tanpa mengetikkan atau menciptakan module untuk autocomplete alasannya combobox sudah otomatis.
Untuk menciptakan autocomplete pada textbox dengan mengambil data pada range Anda harus menciptakan sedikit trik coding. Langsung saja misalkan saya mempunyai data menyerupai berikut ini
Data dari range A1:A14 merupakan data yang nantinya akan dijadikan list yang akan ditampilkan pada textbox jikalau ditemukan data yang sama antara textbox dengan range tersebut. Langkah berikutnya kita akan menciptakan userform dan menambahkan textbox serta combobox. Silakan buat menyerupai desain berikut ini
Langkah berikutnya kita akan menciptakan textbox dengan mekanisme AutoChange dan tuliskan script berikut
Private Sub TextBox1_Change()
Dim Otomatis As String
Dim Template As String
Application.ScreenUpdating = False
Application.EnableEvents = False
Template = Me.TextBox1.Text
AlamatRange.Value = Me.TextBox1.Text
Otomatis = AlamatRange.AutoComplete(Me.TextBox1.Text)
If Len(Otomatis) > 0 Then
With Me.TextBox1
.Text = Otomatis
.SelStart = Len(Template)
.SelLength = Len(Otomatis)
End With
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Tambahkan juga Open Explicit diatas script tersebut
Option Explicit
Dim AlamatRange As Range
Dim JumlahKarakter As Integer
Jika sudah tambahkan mekanisme saat textbox di enter
Private Sub TextBox1_Enter()
Set AlamatRange = Worksheets("Sheet1").Range("a35536").End(xlUp).Offset(1, 0)
End Sub
Lalu tambahkan juga saat keluar dari fokus textbox
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)Ok, mari kita coba coding yang telah dituliskan tadi dan kesudahannya yakni apabila Anda mengetikkan text pada textbox yang hampir mendekati nama yang ada di list maka secara otomatis textbox menampilkannya tanpa mengetikkan nama secara lengkap
AlamatRange.ClearContents
End Sub
Perhatikan saat saya mengetikkan kata "Le" maka textbox akan menuliskan sendiri dengan block area yaitu nama "Leli Nurlaeli" dan perhatikan pula anak panah yang membuktikan nama "Leli Nurlaeli" yang ada pa list data akan tertulis secara otomatis dan jikalau di enter maka nama tersebut akan dihapus kembali alasannya ini memakai coding
AlamatRange.ClearContents
Nah, itulah cara menciptakan textbox Autocomplete, silakan dikembangkan untuk menciptakan aplikasi yang berguna, biar bermanfaat.
Silakan lihat Belajar Membuat Textbox pada UserFormSumber http://www.excel-id.com/