Coding ini biasanya digunakan untuk membuat sebuah Form Login sederhana secara banyak atau bisa dibilang Login Multi User namun bedanya disini adalah tidak menggunakan password hanya user saja yang dicari. Anda bisa mengembangkan materi ini untuk membuat UserForm Login Multi User. Dari gambaran kondisi diatas Seharusnya Anda sudah bisa mempunyai alur algoritma untuk membuat program (Pengcodingan). Untuk materi Form Login sudah pernah saya bahas pada artikel sebelumnya silakan baca Contoh Template Login
Cara Membuat Validasi Data Untuk Menemukan Data
Setelah Anda mengetahui alur kerja atau algoritma diatas mari kita buat desain untuk membuat validasi data entri dengan database. Namun sebelumnya untuk mempersingkat pemahaman Anda saya akan membuat algoritma sederhana“Entri Data – Cari – Jika ditemukan munculkan pesan dan tampilkan Form Selamat Datang – Jika tidak ditemukan munculkan pesan informasi data tidak ditemukan.”
Untuk desain atau rancangan userform lihatlah contoh desain sederhana untuk membuat validasi data dengan userform berikut ini.
Pertama silakan buat 2 buah UserForm, untuk Form pertama lakukan seting atau desain seperti gambar berikut ini
Dalam userform Validasi Database diatas terdapat 4 buah Objek yaitu Label1, Textbox1, CommandButton1 dan Frame. Untuk Label1 silakan ganti Caption pada Properties menjadi “Nama” Anda bisa merubahnya sesuai dengan kebutuhan sedangkan untuk textbox1 ganti Name menjadi “TextboxCari” dan untuk CommandButton1 silakan ganti Label para properties menjadi “Cari” Objek Cari ini digunakan sebagai tombol perintah untuk mencari atau memvalidasi data antara textbox1 dengan database yang ada pada range.
Baca:
Cara Membuat Validasi Data Range Melalui Form
Langkah Berikutnya untuk UserForm2 silakan tambahkan objek Label1 menggunakan ToolBox dan ganti Caption pada properties menjadi “Selamat Datang” Anda bisa merubah ukuran dan ketebalan dari tulisan “Selamat Datang” dengan merubah Font pada Properties menjadi size 14 dan style Font Bold. Lihatlah tampilan untuk merubah ukuran font berikut ini
Tampilan setelah setting font pada label1 “Selamat Datang” yang dilakukan pada UserForm2 adalah sebagai berikut dan jangan lupa hilangkan Caption pada UserForm2 tersebut sehingga title pada Form Selamat Datang dikosongkan.
Form Selamat Datang inilah yang nantinya ditampilkan apabila data yang diketikkan pada textbox1 yang ada di UserForm1 sesuai dengan database yang ada pada range.
Langkah berikutnya kita masuk ke Worksheet untuk membuat tabel database caranya yaitu silakan buat daftar nama pada kolom B dengan urutan sebagai berikut :
Dari tabel diatas sengaja saya tuliskan datftar nama secara tidak beraturan artinya huruf kapital tidak menjadikan patokan dalam validasi nantinya untuk dipanggil melalui userform. Terlihat jelas ada yang menggunakan huruf kapital semua ada juga yang awalnya saja huruf besar ada juga yang menggunakan huruf kecil semua. Hal ini berarti case sensitive tidak berpengaruh dalam pemrograman bisa dituliskan MatchCase=False
Setelah Anda menuliskan daftar nama diatas untuk mempermudah dalam manajemen database silakan ganti Sheet2 menjadi “Database” sebenarnya tidak diganti nama sheet juga tidak masalah namun dalam hal ini agar Anda mudah dalam menganalisa pembuatan coding nantinya.
Coding Validasi Data Dengan Database
Oke, setelah Anda membuat daftar nama dalam database worksheet tersebut saatnya kita membuat coding. SIlakan Anda masuk ke VBA editor dan tampilkan mode Code kemudian kita tambahkan 1 buah prosedur dengan nama “TemukanData”Syntax:
Sub TemukanData()
Tuliskan coding disini
End Sub
Setelah Anda menuliskan prosedur TemukanData kemudian tuliskan coding dibawah ini atau copy pastekan kedalam prosedur diatas sehingga coding menjadi seperti berikut
Sub TemukanData()
Dim ws As Worksheet
Dim Pencarian As String
Dim aCell As Range
On Error GoTo Err
'Setting atau menentukan worksheet database
Set ws = Sheets("Database")
With ws
'Textbox pencarian kata
Pencarian = TextboxCari.Value
'Kolom A adalah 1 sedangkan kolom B adalah 2 dan seterusnya
'xlWhole diguanakan untuk pencarian secara lengkap
'MatcCase difungsikan untuk menentukan huruf kapital atau tidak
Set aCell = .Columns(2).Find(What:=Pencarian, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
'Untuk mengecek apakah ditemukan
If Not aCell Is Nothing Then
'Kode dibawah bisa digunakan untuk menemukan baris jika ditemukan maka hapus
'.Rows(aCell.Row).Delete ' kode untuk menghapus jika dibutuhkan bisa digunakan code ini
'Application.DisplayAlerts = False ' code ini digunakan agar tidak muncul peringatan
MsgBox "Data Ditemukan", vbInformation, "Informasi"
Unload Me
UserForm2.Show
Else 'Jika data tidak ditemukan maka munculkan pesan
MsgBox "Data Tidak Ditemukan", vbInformation, "Informasi"
End If
End With
Exit Sub
Err:
MsgBox Err.Description
End Sub
Keterangan Coding
Dim ws As WorksheetDim Pencarian As String
Dim aCell As Range
Saya definisikan untuk ws merupakan Worksheet, untuk Pencarian saya definisikan menjadi string kemudian aCell merupakan alamat cell saya definisikan menjadi range.
Set ws = Sheets("Database") merupakan setting agar pengambilan data adalah di worksheet “Database” jadi jika tidak ditemukan nama worksheet “Database” maka program tidak akan berfungsi.
Pencarian = TextboxCari.Value, kita asumsikan bahwa Pencarian merupakan data (value) yang dituliskan pada TextboxCari
Code:
Set aCell = .Columns(2).Find(What:=Pencarian, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
Code diatas kita setting untuk alamat range adalah berada di kolom 2 atau kolom B,artinya jika textboxcari atau Pencarian kata sesuai dengan data yang ada pada kolom B dan tanpa memperhatikan huruf besar kecilnya not case sensitive maka lakukan pengecekan kondisi
If Not aCell Is Nothing Then, jika data tidak ditemukan maka munculkan pesan kemudian informasi bahwa data ditemukan pada database kemudian lakukan perintah tutup form aktif (unload me) kemudian tampilkan form “Selamat Datang” atau Form2 maka coding nya adalah “
MsgBox "Data Ditemukan", vbInformation, "Informasi"
Unload Me
UserForm2.Show
Namun apabila tidak ditemukan maka lakukan perintah untuk membuat sebuah tampilan pesan informasi sehingga codingnya ditambahkan menjadi
Else 'Jika data tidak ditemukan maka munculkan pesan
MsgBox "Data Tidak Ditemukan", vbInformation, "Informasi"
End If
End With
Exit Sub
Untuk menghadle error tambahkan coding
Err:
MsgBox Err.Description
Karena pada userform1 telah dibuat sebuah objek CommandButton untuk memanggil prosedur “TemukanData” maka silakan tambahkan prosedur pada object CommandButton1 sebagai berikut untuk memanggilnya
Private Sub CommandButton1_Click()
Call TemukanData
End Sub
Cara Test dan Menjalankan Program validasi Database
Setelah semua coding diatas telah benar diketikan maka langkah berikutnya kita uji coding apakah sudah benar atau belum silakan klik tombol RUN atau icon segitiga berwarna hijau pada VBA editor diatas maka userform1 akan muncul kemudian coba tuliskan salah satu user yang ada dalam database contohPerhatikan saya menuliskan salah satu user pada textbox tersebut dengan nama “supriyatna” kemudian klik tombol “Cari” maka sebuah pesan akan muncul
Jika Anda klik OK maupun close (X) maka munculah form “Selamat Datang”
Namun apabila saya mengetikan user yang tidak sesuai dengan database yang dientrikan misalnya “Boss”
Maka akan muncul sebuah pesan informasi “Data Tidak Ditemukan” lihatlah gambar diatas untuk memahaminya.
Jika Anda menambahkan user lain pada database sepanjang berada di kolom B maka bias dipanggil tetapi apabila Anda memasukan nama selain di kolom B walaupun sama maka program tidak akan berfungsi.
Demikian tutorial bagaimana mencari data dengan userform untuk validasi data semoga bermanfaat dan silakan kembangkan kembali untuk mengotak atik dan selamat belajar jangan lupa jika ada pertanyaan seputar materi ini untuk tidak sungkan berkomentar dibawah kolom yang telah disediakan.
0 Response to "Mencari Data di Excel dengan UserForm Validasi"
Posting Komentar
Tulisan ini Bermanfaat..? Silakan berkomentar sesuai topik artikelnya, tidak dianjurkan menggunakan kata-kata yang dapat menimbulkan hal negatif. Mohon maaf apabila tidak memiliki etika akan Admin HAPUS tanpa pemberitahuan kembali. Terimakasih... salam Exceler