Pernahkah anda saat mengimput data kedalam Ms. Excel tanpa harus mengetik kedalam Cell yang yang diinginkan tetapi melalui sebuah kotak dialog?. Tentu sangat menyenangkan bukan?. Lalu bagaimana cara membuat?.
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3130202143931164"
crossorigin="anonymous"></script>
Berikut ini adalah cara membuat input data UserForm dengan vba pada Ms. Excel misalnya data base siswa. Dalam membuat data base ini didalamnya kita menggunakan Empat part UserForm yaitu
1. Label
Part label adalah suatu kriteria atau ekspresi atau suatu keterangan yang akan diterapkan di dalam user form kita.
2. TextBox
Part TexBox adalah isian data yang akan kita tulis mendeskripsikan kriteria atau ekspresi pada sesuai pada Part Label
3. ComboBox
Part ComboBox adalah TextBox yang memuat daftar pilihan atau daftar entri. ComboBox di salah satu unjungnya memiliki tombol panah, dan akan menunjukan data pilihan saat kita klik yang bisa dientri salah satunya.
4. Part Tombol Perintah / CommandButton
Part Tombol Perintah / CommandButton Adalah tombol perintah yang akan menjalankan pengisian data dalam tabel atau cel pada saat di klik.
Langkah – langkah Membuat User Form Input Data tersebut antara lain :
a. Kita harus mengingat setiap judul kolom data yang akan kita buat.
b. Menampilkan Menu Developer Pada Menu Bar
Untuk membuat UserForm kita bisa masuk kedalam fasilitas Visual Basic (VBA) Ms. Excel. Tapi pastikan dulu apakah menu Developer kita sudah tertampikan pada menu bar. Jika Belum untuk menampilkannya maka temen-temen dapat klik :
- Klik Menu File
- Klik Option
- Klik CustomizeRibbon
- Pada Kolom Main Tabs di klik dan centang Developer.
c. Masuk ke dalam Visual Basic dengan caranya tekan Alt + F11 atau menu Develover >> Visual Basic
d. Klik kanan VBAProject >> insert >> UserForm, lalu mengatur luasan kotak yang diperlukan.
e. Ganti Caption UserForm dengan mengklik dan mengketik pada baris caption fasilitas Properties.
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3130202143931164"
crossorigin="anonymous"></script>
Dengan fasilitas propertis ini kita dapat mengganti tampilan warna background, border style, jenis font, warna fon, dll. Baik tampilan UserForm, Label, ComboBox, ataupun CommandButton.
f. Membuat Label
Caranya dengan mengklik tombol :
- ToolBox Label
- Letakkan pada kotak UserForm “Input Data Siswa”
- Atur posisi dan ukuran agar tidak menghabiskan tempat
- Ganti caption “Label1” dengan “Nomor Urut” pada properties.
- Lakukanlah langkah ini dengan cara copypaste pada label selanjutnya agar ukurannya sama dan ketikkan caption sesuai yang diinginkan.
Dalam Tutorial ini digunakan caption label yaitu : Nomor Urut, Jenis Kelamin, Agama, Status dalam Keluarga dan seterusnya sesuai yang kita kehendaki. Dapat dilihat pada gambar berikut ini :
g. Membuat TextBox dan ComboBox
Selanjutnya membuat TextBox dan ComboBox. Caranya sama seperti membuat LabelBox. Dan gantilah Name nya dengan fasilitas Propertis sesuai dengan kriteria label yang sudah kita buat tanpa spasi. Jangan sampai lupa, hal ini penting dilakukan karena TextBox dan ComboBox yang telah kita beri nama tersebut sangat berguna untuk pembatan Script, dan nama-nama TextBox dan ComboBox tersebut harus sama dituliskan juga di dalam script, jika namanya salah maka program akan error. Sebagai contoh misalnya :
- TextBox Nomor Urut, maka namenya “txtNomorUrut”
- ComboBox Jenis Kelamin, maka namenya “cmbJenisKelamin”
- Dan seterusnya...
- Nama – nama name dan captionnya pada commandButton dipakai sesuai keinginan yang penting mudah diingat.
h. Membuat Tombol Perintah / CommandButton
Selanjutnya membuat Tombol Perintah / CommandButton dan mengganti Caption dan Name nya di dalam kotak fasilitas propertis. Kita juga dapat menggati font, ukuran font, background, dan lain-lain dengan menggunakan fasilitas Properties. Dalam tutorial ini kita gunakan 3 tombol commandButton yang terdiri dari 3 tombol sebagai contoh Name dan Captionya misalkan :
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3130202143931164"
crossorigin="anonymous"></script>
- Tombol “Keluar” contoh nama propertiesnya “cmdKeluar”
- Tombol “Batal Input Data” contoh nama propertiesnya “cmdBatal”
- Tombol “Simpan Input Data” contoh nama propertiesnya “cmdSimpan”
Nama Name dan captionnya pada commandButton dipakai sesuai keinginan yang penting mudah diingat dan jangan terlupa.
Begitu juga dengan CommondButton...!
i. Menambahkan Acessories
Jika kita ingin menambahkan accessories didalam UserName kita dengan sebuah gambar maka kita bisa menggunakan sebuat toolbox “image” dan mencari gambarnya di dalam kolom propertis “picture”.
j. Menuliskan Script-script kedalam UserForm.
Sebelum kita menuliskan script-script alangkah lebih baiknya jika kita menetapkan kriteria terlebih dahulu yang akan kita terapkan kedalam UserForm kita. Dalam Tutorial ini kita gunakan kriteria sebagai berikut :
- TextBox yang aktif pertama kali adalah textbox “Nomor Urut”
- Input data ditolak jika nomor urut kosong
- Input data ditolak jika ada nomor urut ganda
- UserForm memberitahukan nomor urut terakhir untuk pengentrian dan nomor urut selanjutnya.
Untuk menampilkan lembar penulisan script-scriptnya dapat dilakukan dengan cara klik dua kali pada kotak UserFormnya atau dengan cara Klik kanan pada UserForm >> View Code.
Lalu kita masukkan Script ini di bawah ini bisa dengan copyPaste.
Private Sub UserForm_Activate() Dim Ws As Worksheet Set Ws = Worksheets("DataBase") txtMax.Value = Range("A1").Value txtNomorUrut.SetFocus End Sub 'menyimpan data Private Sub cmdSimpan_Click() Dim iRow As Long Dim Ws As Worksheet Set Ws = Worksheets("DataBase") 'Menemukan baris kosong pada database iRow = Ws.Cells(Rows.Count, 1) _ .End(xlUp).Offset(1, 0).Row 'cek untuk sebuah kode If Trim(Me.txtNomorUrut.Value) = "" Then Me.txtNomorUrut.SetFocus MsgBox "Tidak Dapat Mengosongkan Nomor Urut" Exit Sub End If 'Menemukan Nomor Yang Sama Data = Me.txtNomorUrut.Value With Worksheets("DataBase").Range("A5:A45") Set c = .Find(Data, LookIn:=xlFormulas) If c Is Nothing Then MsgBox "Cek Nomor Urut is OK" Else MsgBox "Nomor Urut Sudah Ada" Me.txtNomorUrut.Value = "" Me.txtNomorUrut.SetFocus Exit Sub End If End With 'Copy Data Ke Data Base Ws.Cells(iRow, 1).Value = Me.txtNomorUrut.Value Ws.Cells(iRow, 2).Value = Me.txtNIS.Value Ws.Cells(iRow, 3).Value = Me.txtNamaSiswa.Value Ws.Cells(iRow, 4).Value = Me.txtTempatTglLahir.Value Ws.Cells(iRow, 5).Value = Me.cmbJenisKelamin.Value Ws.Cells(iRow, 6).Value = Me.cmbAgama.Value Ws.Cells(iRow, 7).Value = Me.cmbStatus.Value Ws.Cells(iRow, 8).Value = Me.cmbAnakKe.Value Ws.Cells(iRow, 9).Value = Me.txtAlamatSiswa.Value Ws.Cells(iRow, 10).Value = "'" & Me.txtTelephoneSiswa.Value Ws.Cells(iRow, 11).Value = Me.txtAsalSekolah.Value Ws.Cells(iRow, 12).Value = Me.cmbDiKelas.Value Ws.Cells(iRow, 13).Value = Me.txtPadaTanggal.Value Ws.Cells(iRow, 14).Value = Me.txtNamaAyah.Value Ws.Cells(iRow, 15).Value = Me.txtNamaIbu.Value Ws.Cells(iRow, 16).Value = Me.txtAlamatOrangTua.Value Ws.Cells(iRow, 17).Value = "'" & Me.txtTelephoneOrtu.Value Ws.Cells(iRow, 18).Value = Me.cmbPekerjaanAyah.Value Ws.Cells(iRow, 19).Value = Me.cmbPekerjaanIbu.Value Ws.Cells(iRow, 20).Value = Me.txtNamaWali.Value Ws.Cells(iRow, 21).Value = Me.txtAlamatWali.Value Ws.Cells(iRow, 22).Value = "'" & Me.txtTelephoneWali.Value Ws.Cells(iRow, 23).Value = Me.cmbPekerjaanWali.Value 'Clear data Me.txtNomorUrut.Value = "" Me.txtNIS.Value = "" Me.txtNamaSiswa.Value = "" Me.txtTempatTglLahir.Value = "" Me.cmbJenisKelamin.Value = "" Me.cmbAgama.Value = "" Me.cmbStatus.Value = "" Me.cmbAnakKe.Value = "" Me.txtAlamatSiswa.Value = "" Me.txtTelephoneSiswa.Value = "" Me.txtAsalSekolah.Value = "" Me.cmbDiKelas.Value = "" Me.txtPadaTanggal.Value = "" Me.txtNamaAyah.Value = "" Me.txtNamaIbu.Value = "" Me.txtAlamatOrangTua.Value = "" Me.txtTelephoneOrtu.Value = "" Me.cmbPekerjaanAyah.Value = "" Me.cmbPekerjaanIbu.Value = "" Me.txtNamaWali.Value = "" Me.txtAlamatWali.Value = "" Me.txtTelephoneWali.Value = "" Me.cmbPekerjaanWali.Value = "" Me.txtNomorUrut.SetFocus MsgBox "Data Sudah Dientry Ke DataBase" End Sub Private Sub UserForm_Initialize() With cmbJenisKelamin .AddItem "Laki-Laki" .AddItem "Perempuan" End With With cmbAgama .AddItem "Islam" .AddItem "Protestan" .AddItem "Katholik" .AddItem "Hindu" .AddItem "Budha" End With With cmbStatus .AddItem "Kandung" .AddItem "Tiri" .AddItem "Asuh" .AddItem "Angkat" End With With cmbAnakKe .AddItem "1 (Satu)" .AddItem "2 (Dua)" .AddItem "3 (Tiga)" .AddItem "4 (Empat)" .AddItem "5 (Lima)" .AddItem "6 (Enam)" .AddItem "7 (Tujuh)" .AddItem "8 (Delapan)" .AddItem "9 (Sembilan)" .AddItem "10 (Sepuluh)" .AddItem "11 (Sebelas)" .AddItem "12 (Dua Belas)" End With With cmbDiKelas .AddItem "7 (Tujuh)" .AddItem "8 (Delapan)" .AddItem "9 (Sembilan)" .AddItem "10 (Sepuluh)" .AddItem "11 (Sebelas)" .AddItem "12 (Dua Belas)" End With With cmbPekerjaanAyah .AddItem "PNS" .AddItem "POLRI" .AddItem "TNI" .AddItem "Pegawai Pemerintah" .AddItem "Pegawai Swasta" .AddItem "Wiraswasta" .AddItem "LSM" .AddItem "Petani" .AddItem "Peternak" .AddItem "Nelayan" .AddItem "Buru" End With With cmbPekerjaanIbu .AddItem "PNS" .AddItem "POLRI" .AddItem "TNI" .AddItem "Pegawai Pemerintah" .AddItem "Pegawai Swasta" .AddItem "Wiraswasta" .AddItem "LSM" .AddItem "Petani" .AddItem "Peternak" .AddItem "Nelayan" .AddItem "Buru" .AddItem "Ibu Rumah Tangga" End With With cmbPekerjaanWali .AddItem "PNS" .AddItem "POLRI" .AddItem "TNI" .AddItem "Pegawai Pemerintah" .AddItem "Pegawai Swasta" .AddItem "Wiraswasta" .AddItem "LSM" .AddItem "Petani" .AddItem "Peternak" .AddItem "Nelayan" .AddItem "Buru" .AddItem "Ibu Rumah Tangga" End With End Sub 'Membatalkan Input Data Private Sub cmdBatal_click() Me.txtNomorUrut.Value = "" Me.txtNIS.Value = "" Me.txtNamaSiswa.Value = "" Me.txtTempatTglLahir.Value = "" Me.cmbJenisKelamin.Value = "" Me.cmbAgama.Value = "" Me.cmbStatus.Value = "" Me.cmbAnakKe.Value = "" Me.txtAlamatSiswa.Value = "" Me.txtTelephoneSiswa.Value = "" Me.txtAsalSekolah.Value = "" Me.cmbDiKelas.Value = "" Me.txtPadaTanggal.Value = "" Me.txtNamaAyah.Value = "" Me.txtNamaIbu.Value = "" Me.txtAlamatOrangTua.Value = "" Me.txtTelephoneOrtu.Value = "" Me.cmbPekerjaanAyah.Value = "" Me.cmbPekerjaanIbu.Value = "" Me.txtNamaWali.Value = "" Me.txtAlamatWali.Value = "" Me.txtTelephoneWali.Value = "" Me.cmbPekerjaanWali.Value = "" Me.txtNomorUrut.SetFocus MsgBox "Data Sudah Dientry Ke Data Base" End Sub 'Tombol Keluar Private Sub cmdKeluar_click() Unload Me End Sub 'Perintah Keluar Menggunakan Tombol Perintah Private Sub UserForm_QueryClose(Cencel As Integer, _ CloseMode As Integer) If CloseMode = vbFormControlMenu Then Cencel = True MsgBox "Tekan Tombol 'Keluar', Exit" End If End Sub
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3130202143931164"
crossorigin="anonymous"></script>
k. Test Menjalankan Program
Jika sudah selesai dalam penulisan scriptnya temen temen dapat menjalankanya dengan menekan tombol F5. Jika berhasil maka tidak akan terjadi error, biasa penyebabnya adalah salah pengetikan baik bahasa, Name TextBox, CommboBox, maupun CommandButton.
l. Simpan Hasil Latihan
Simpan hasil latihan kita ini dengan mengklik menu File >> SaveAs >> Enable Macro/ Enable WorkBook.
Untuk membuat tombol yang dapat memanggil userForm yang kita buat silakan baca di sini...
Demikian tutorial ini semoga dapat bermanfaat.....
Komentar
Posting Komentar