Coding Simpan dan MsgBox Untuk Validasi Data UserForm VBA Excel
Bertemu kembali di Sobat SD Blog dengan topik kali ini mengenai "Coding Simpan dan MsgBox Untuk Validasi Data UserForm VBA Excel" bagian Belajar VBA Excel Part 6 yang membahas tentang bagaimana Cara Menyimpan Data Input UserForm Ke Worksheets serta penggunaan makro pada proses penyimpanan ke form database. Selain itu Admin juga akan memberikan contoh menggunakan message (pesan) pemberitahuan sebagai pilihan untuk memilih simpan data atau membatalkannya.
A. Mengaktifkan/Menonaktifkan Tombol Simpan Menggunakan CheckBox
Sebelum masuk pada pembahasan mengenai topik diatas, kita menuju ke salah satu object toolbox yang terakhir dan belum Admin bahas yaitu CheckBox. Sesuai form pengimputan yang dibuat pada pembelajaran part 1 sebelumnya seperti pada gambar dibawah, checkbox ini digunakan sebagai persetujuan saat akan menyimpan data.
Bentuk persetujuan ini di manfaatkan untuk mengaktifkan tombol simpan data nantinya. Hal ini berarti tombol simpan tidak akan berfungsi/aktif apabila checkbox persetujuan tidak dicentang. Untuk membuatnya seperti itu, lakukan tahapan berikut:
1. Properties CheckBox biarkan default saja, lalu double klik object CheckBox untuk menuju ke code window. Otomatis akan membuat sebuah scope dengan object "CheckBox" dan prosedur "Click". Tambahkan/ganti perintah makronya seperti dibawah ini.
Private Sub CheckBox_Click()
If CheckBox.Value = True Then
Simpan.Enabled = True
ElseIf CheckBox.Value = False Then
Simpan.Enabled = False
End If
End Sub
Penjelasan makro diatas sebagai berikut:
Private Sub CheckBox_Click() dan ditutup dengan End Sub. Ini adalah sebuah scope (ruang lingkup) dengan object sasaran perintah adalah checkbox dan prosedurnya adalah clik yang artinya perintah yang ditulis berikutnya akan diproses atau dijalankan saat checkbox di centang.
If CheckBox.Value = True Then ; Simpan.Enabled = True ; ElseIf CheckBox.Value = False Then ; Simpan.Enabled = False dan ditutup dengan End If. Perintah yang akan dijalankan disini adalah pada saat checkbox tidak dicentang maka tombol simpan akan dinonaktifkan dan pada saat checkbox dicentang maka tompol simpan akan aktif.
Private Sub UserForm_Activate()
Tampil_KodeID
CheckBox_Click
End Sub
B. Membuat Tompol Simpan dan Menambahkan Makro Untuk Menyimpan Data
Tombol simpan ini digunakan sebagai eksekutor untuk menyimpan data dari form imput userform ke worksheets database excel. Tombol simpan ini dibuat menggunakan commandbutton dan atur propertiesnya seperti pembelajaran part 1, terutama yang penting adalah mengubah (name) menjadi "Simpan" agar sesuai dengan makro yang saya berikan nantinya.
1. Membuat Scope Prosedur Simpan
Double klik atau klik kanan CommandButton "Simpan" lalu pilih "viewcode" dan akan otomatis membuat sebuah prosedur baru.
Setelah itu tambahkan/ganti kode perintah makro berikut kedalam prosedur tersebut.
Private Sub Simpan_Click()
Set Ws = Worksheets("BelajarVBA")
irow = Ws.Cells(Rows.Count, 1).End(xlUp).Row + 1
End Sub
Penjelasan Makro diatas adalah:
- Private Sub Simpan_Click() dan ditutup dengan End Sub. Membuat sebuah scope (ruang lingkup) dengan sasaran object CommandButton "Simpan" dan prosedur perintah "ClicK" yang berarti bahwa perintah setelahnya akan dijalankan apabila tombol simpan di pilih/diklik.
- Set Ws = Worksheets("BelajarVBA"). Ini adalah makro yang menyatakan bahwa data yang di input akan tersimpan di worksheet database excel yang sebelumnya sudah kita ganti namanya dari sheet1 menjadi "BelajarVBA" sekaligus menyingkat penulisan dan menyatakan bahwa "Ws" itu adalah worksheet "BelajarVBA".
- irow = Ws.Cells(Rows.Count, 1).End(xlUp).Row + 1. Kode makro ini adalah sebuah perintah untuk menyimpan data selanjutnya pada 1 (satu) baris ke/dibawah baris terakhir yang terisi data.
2. Menambahkan makro perintah simpan data inputan.
Tambahkan kode makro berikut tepat dibawah
Ws.Cells(irow, 1).Value = KodeID.Value
Ws.Cells(irow, 2).Value = Nama.Value
Ws.Cells(irow, 3).Value = Alamat.Value
Ws.Cells(irow, 4).Value = Kecamatan.Value
Ws.Cells(irow, 5).Value = Kelurahan.Value
Ws.Cells(irow, 6).Value = Tanggal.Value
If OptLaki.Value = True Then
Ws.Cells(irow, 7).Value = "Laki - Laki"
ElseIf OptPerempuan.Value = True Then
Ws.Cells(irow, 7).Value = "Perempuan"
End If
Ws.Cells(irow, 8).Value = CDbl(Modal.Value)
Tampil_KodeID
Dan Jangan lupa tambahkan kode On Error Resume Next dibawah
Penjelasan Makro tersebut adalah:
Ws.Cells(irow, 1).Value = KodeID.Value. Perintah ini berarti data yang ada pada TextBox "KodeID" akan disimpan pada worksheets "BelajarVBA" kolom pertama, satu baris dibawah data terakhir.
Ws.Cells(irow, 2).Value = Nama.Value. Perintah ini berarti data yang ada pada TextBox "Nama" akan disimpan pada worksheets "BelajarVBA" kolom kedua, satu baris dibawah data terakhir.
Ws.Cells(irow, 3).Value = Alamat.Value. Perintah ini berarti data yang ada pada TextBox "Alamat" akan disimpan pada worksheets "BelajarVBA" kolom ketiga, satu baris dibawah data terakhir.
Ws.Cells(irow, 4).Value = Kecamatan.Value. Perintah ini berarti data yang ada pada ComboBox "Kecamatan" akan disimpan pada worksheets "BelajarVBA" kolom keempat, satu baris dibawah data terakhir.
Ws.Cells(irow, 5).Value = Kelurahan.Value. Perintah ini berarti data yang ada pada ComboBox "Kelurahan" akan disimpan pada worksheets "BelajarVBA" kolom kelima, satu baris dibawah data terakhir.
Ws.Cells(irow, 6).Value = Tanggal.Value. Perintah ini berarti data yang ada pada DTPicker "Tanggal" akan disimpan pada worksheets "BelajarVBA" kolom keenam, satu baris dibawah data terakhir.
If OptLaki.Value = True Then sampai End If. Perintah ini berarti jika memilih OptLaki maka data tersimpan adalah text "Laki-Laki" dan bila memilih OptPerempuan, maka data tersimpan adalah text "Perempuan". Data tersebut akan disimpan pada worksheets "BelajarVBA" kolom ketujuh, satu baris dibawah data terakhir.
Ws.Cells(irow, 8).Value = CDbl(Modal.Value). Perintah ini berarti data yang ada pada TextBox "Modal" akan disimpan pada worksheets "BelajarVBA" kolom kedelapan, satu baris dibawah data terakhir. Khusus untuk format currency ini, perlu ditambahkan sebuah kode variabel Double yaitu "CDbl". fungsi kode variable Double ini untuk mengubah format currency agar tetap dalam format angka dan tidak berubah ke format text.
Sekarang coba jalankan dengan mengklik
Dan bila berhasil hasilnya akan seperti gambar berikut:
C. Mengosongkan Kolom Input Setelah Data Tersimpan
Tahapan selanjutnya yaitu mengosongkan kembali kolom input setelah menyimpan data untuk di isi kembali dengan data baru. Ada beberapa cara yang digunakan namun Admin lebih suka dengan cara berikut:
1. Membuat Scope prosedur baru dengan object prosedur "Bersihkan" (bisa
diganti terserah Sobat SD). Lalu Buat kode makro seperti dibawah ini:
Private Sub Bersihkan()
Nama.Value = "
Alamat.Value = ""
Kecamatan.Value = ""
Kelurahan.Value = ""
Tanggal.Value = "07/11/2021"
OptLaki.Value = 0
OptPerempuan.Value = 0
Modal.Value = ""
End Sub
2. Tambahkan Bersihkan pada Scope Prosedur Simpan, letakkan pas dibawah
Penjelasan Makro diatas yaitu:
- Kecuali Tanggal.Value = "07/11/2021 semua menyatakan untuk mengosongkan kolom input setelah data tersimpan.
- Tanggal.Value = "07/11/2021. Merupakan perintah untuk mengembalikan kolom tanggal yang berubah pada saat kita menginput menjadi tanggal "07/11/2021". Tanggal ini otomatis muncul sesuai tanggal pada saat memasukkan DTPicker ke Userform.
D. Menambahkan Message Box Sebelum dan Sesudah Data Tersimpan
Pesan yang dimaksud disini adalah ketika tombol simpan diklik, akan muncul pesan pemberitahuan apakah akan menyimpan data atau tidak, dan saat data berhasil tersimpan akan memberikan pemberitahuan kembali. Untuk memasang message box ini cukup tambahkan kode makro If MsgBox("Apakah Bos-Qu Yakin Akan Meyimpan User Ini ?!!", vbYesNo + vbQuestion, "Pernyataan") = vbYes Then ini, pas dibawah
Untuk pesan yang memberitahukan bahwa data telah berhasil tersimpan, tambahkan kode berikut MsgBox "Simpan Data Berhasil Bos-Qu", vbInformation, "Pemberitahuan" dibawah kode
E. Menambah Message Box Saat Kolom Input Kosong
Memberikan pesan pemberitahuan saat kolom input kosong, sangat diperlukan apabila data pada kolom input tersebut mempunyai nilai penting dalam pengolahan data. Kolom input yang kosong ini bisa terjadi karena tanpa sengaja terlewati dalam penginputan.
Tambahkan kode makro berikut pas dibawah
If Nama.Value = "" Then
MsgBox "Kolom Nama Masih Kosong Bos-Qu !!!", vbInformation, "Pemberitahuan"
Nama.SetFocus
Exit Sub
ElseIf Alamat.Value = "" Then
MsgBox "Kolom Alamat Masih Kosong Bos-Qu !!!", vbInformation, "Pemberitahuan"
Alamat.SetFocus
Exit Sub
ElseIf Kecamatan.Value = "" Then
MsgBox "Kolom Kecamatan Masih Kosong Bos-Qu !!!", vbInformation, "Pemberitahuan"
Kecamatan.SetFocus
Exit Sub
ElseIf Kelurahan.Value = "" Then
MsgBox "Kolom Kelurahan Masih Kosong Bos-Qu !!!", vbInformation, "Pemberitahuan"
Kelurahan.SetFocus
Exit Sub
ElseIf Tanggal.Value = "07/11/2021" Then
MsgBox "Kolom Tanggal Belum Diubah Bos-Qu !!!", vbInformation, "Pemberitahuan"
Tanggal.SetFocus
Exit Sub
End If
If OptLaki = True Then
OptLaki = True
ElseIf OptPerempuan = True Then
OptPerempuan = True
Else
MsgBox "Pilih Jenis Kelamin Dulu Bos-Qu", vbCritical, "sistem aplikasi"
Exit Sub
End If
If Modal.Value = "" Then
MsgBox "Kolom Modal Belum Diubah Bos-Qu !!!", vbInformation, "Pemberitahuan"
Modal.SetFocus
Exit Sub
End If
Untuk melihat dalam bentuk video, cek di Channel Youtube Sobat SD. Nah, seperti itu diatas cara membuat tombol simpan dan penggunaaan kode makro untuk menyimpan data dari form input userform ke worksheets database. Selain itu menambahkan beberapa message box untuk memberikan pesan pemberitahuan dan informasi agar penginputan data lebih akurat. Semoga bermanfaat, Wassalam.
Post a Comment for "Coding Simpan dan MsgBox Untuk Validasi Data UserForm VBA Excel"