Saturday, November 17, 2018

√ Autocomplete Textbox Pada Userform

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)
  AlamatRange.ClearContents
End Sub
 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



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 UserForm

Sumber http://www.excel-id.com/