Cara membuat Input Data UserForm Dengan VBA Pada Ms. Excel misalnya Data Base Siswa

 

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 :

  1. Klik Menu File
  2. Klik Option
  3. Klik CustomizeRibbon
  4. 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 :

  1. TextBox yang aktif pertama kali adalah textbox “Nomor Urut”
  2. Input data ditolak jika nomor urut kosong
  3. Input data ditolak jika ada nomor urut ganda
  4. 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