TUTORIAL INPUT DATA FORM SISWA BERBASIS VBA
Langkah 1 Buat sebuah dokumen baru kemudian aktifkan VBA editor dengan menekan kombinasi keyboar ALT+F11 kemudian cari menu Insert dan klik UserForm
Langkah 2 Untuk langkah kedua setelah menyisipkan sebuah form baru maka kita edit ukuran form nya sesuai dengan kebutuhan kemudian buat sebuah label dengan menggunakan Toolbox dan letakkan pada Form kemudian ganti Caption menjadi NIS
Langkah 3 Setelah label NIS terbuat silakan buat label berikutnya sesuai dengan Field diatas dan caranya sama dengan tahap 2 hingga menjadi seperi tampilan berikut. Jangan lupa ganti properties Caption sesuai dengan fieldnya
Langkah 4 Untuk langkah ke-4 Anda harus membuat beberapa TextBox sebagai syarat untuk pengisian data. Bagi yang belum tahu cara membuat textbox caranya adalah klik TextBox pada Toolbox kemudan drag ke UserForm misalnya untuk membuat textbox nis seperti berikut jangan lupa ganti properties Name menjadi "TXTNis" untuk mendefinisikan supaya tidak lupa dalam membuat kode program VBA nya. Dari langkah ke-4 tersebut silakan buat beberapa textbox
Anda bisa juga menggunakan teknik copy paste. dan silakan ganti propertis name menjadi seperti berikut ini. Textbox1 ganti dengan TXTNis Textbox2 ganti dengan TXTNama Textbox3 ganti dengan TXTTempatLahir Textbox4 ganti dengan TXTTglLahir Textbox5 ganti dengan TXTALamat Textbox6 ganti dengan TXTNISN Textbox7 ganti dengan TXTHP Textbox8 ganti dengan TXTSKHUN Textbox9 ganti dengan TXTIjasah Textbox10 ganti dengan TXTNamaIbu Textbox11 ganti dengan TXTThnLahirIbu Textbox12 ganti dengan TXTPekIbu Textbox13 ganti dengan TXTNamaAyah Textbox14 ganti dengan TXTThnLahirAyah Textbox15 ganti dengan TXTPekAyah Textbox16 ganti dengan TXTPengAyah Textbox17 ganti dengan TXTAlamatOrtu Untuk ComboBox silakan buat dengan menggunakan Toolbox dan ganti properties name nya ComboBox1 ganti dengan CBO CBOKelamin ComboBox2 ganti dengan CBO CBOPendidikanIbu ComboBox3 ganti dengan CBO CBOPendidikanAyah
Langkah 5
Buat 3 buah tombol dengan menggunakan CommandButton seperti diatas yang pertama tombol "Simpan" ke-2 tombol "Cari Data Siswa" dan yang ke-3 "Close" untuk masing-masing tombol silakan ganti properties name menjadi "TBLSimpan", "TBLCariData", CMDClose" Untuk yang belum tahu cara membuat CommandButton caranya hampir sama dengan membuat texbox tetapi disini toolbox yang dipake adalah CommandButton. Jadi kalo untuk membuat tiga buah tombol maka kita harus membuat 3 buah CommandButton.
Langkah 6
Langkah berikutnya adalah langkah membuat script VBA.
Dan yang pertama silakan View Code kemudian tuliskan script berikut untuk membuat initial pada UserForm Private Sub
UserForm_Initialize() With CBOKelamin .AddItem "Laki-Laki" .AddItem "Perempuan" End With With CBOPendidikanIbu .AddItem "Tidak Sekolah" .AddItem "SD" .AddItem "SMP" .AddItem "SMA" .AddItem "D1" .AddItem "D2" .AddItem "D3" .AddItem "S1" .AddItem "S2" .AddItem "S3" End With With CBOPendidikanAyah .AddItem "Tidak Sekolah" .AddItem "SD" .AddItem "SMP" .AddItem "SMA" .AddItem "D1" .AddItem "D2" .AddItem "D3" .AddItem "S1" .AddItem "S2" .AddItem "S3" End With End Sub
Langkah 7
Buat sebuah script VBA untuk simpan data siswa silakan ketikkan script VBA nya di bawah ini:
Private Sub TBLSimpan_Click() Dim iRow As Long Dim Ws As Worksheet Set Ws = Worksheets("databasesiswa") 'menemukan baris kosong pada database siswa iRow = Ws.Cells(Rows.Count, 1) _ .End(xlUp).Offset(1, 0).Row 'check untuk sebuah nis If Trim(Me.TXTNis.Value) = "" Then Me.TXTNis.SetFocus MsgBox "Masukan NIS terlebih dahulu Kang.." Exit Sub End If 'copy data ke database siswa Ws.Cells(iRow, 1).Value = Range("X1").Value Ws.Cells(iRow, 2).Value = Me.TXTNis.Value Ws.Cells(iRow, 3).Value = Me.TXTNama.Value Ws.Cells(iRow, 4).Value = Me.TXTTempatLahir.Value Ws.Cells(iRow, 5).Value = Me.TXTTglLahir.Value Ws.Cells(iRow, 6).Value = Me.CBOKelamin.Value Ws.Cells(iRow, 7).Value = Me.TXTAlamat.Value Ws.Cells(iRow, 8).Value = Me.TXTNISN.Value Ws.Cells(iRow, 9).Value = Me.TXTHP.Value Ws.Cells(iRow, 10).Value = Me.TXTSKHUN.Value Ws.Cells(iRow, 11).Value = Me.TXTIjasah.Value Ws.Cells(iRow, 12).Value = Me.TXTNamaIbu.Value Ws.Cells(iRow, 13).Value = Me.TXTThnLahirIbu.Value Ws.Cells(iRow, 14).Value = Me.TXTPekIbu.Value Ws.Cells(iRow, 15).Value = Me.CBOPendidikanIbu.Value Ws.Cells(iRow, 16).Value = Me.TXTNamaAyah.Value Ws.Cells(iRow, 17).Value = Me.TXTThnAyah.Value Ws.Cells(iRow, 18).Value = Me.TXTPekAyah.Value Ws.Cells(iRow, 19).Value = Me.CBOPendidikanAyah.Value Ws.Cells(iRow, 20).Value = Me.TXTPengAyah.Value Ws.Cells(iRow, 21).Value = Me.TXTAlamat.Value 'clear data siswa Me.TXTNis.Value = "" Me.TXTNama.Value = "" Me.TXTTempatLahir.Value = "" Me.TXTTglLahir.Value = "" Me.CBOKelamin.Value = "" Me.TXTAlamat.Value = "" Me.TXTNISN.Value = "" Me.TXTHP.Value = "" Me.TXTSKHUN.Value = "" Me.TXTIjasah.Value = "" Me.TXTNamaIbu.Value = "" Me.TXTThnLahirIbu.Value = "" Me.TXTPekIbu.Value = "" Me.CBOPendidikanIbu.Value = "" Me.TXTNamaAyah.Value = "" Me.TXTThnAyah.Value = "" Me.TXTPekAyah.Value = "" Me.CBOPendidikanAyah.Value = "" Me.TXTPengAyah.Value = "" Me.TXTAlamatOrtu.Value = "" Me.TXTNis.SetFocus 'Simpan data Application.ActiveWorkbook.Save
End Sub
Langkah 8 Membuat perintah CLOSE silakan ketikkan script nya dibawah ini dengan cara double klik tombol CLOSE Private Sub CMDClose_Click() Unload Me End Sub
Langkah 9 Membuat sebuah validasi data untuk textbox yang berisi data angka agar data yang diinput hanya berupa data angka buka hurfu. Apabila data yang dimasukan pada textbox bukan berupa data angka maka secara otomatis akan menampilkan pesan error dan ini dia script nya Private Sub HanyaAngka() If TypeName(Me.ActiveControl) = "TextBox" Then With Me.ActiveControl If Not IsNumeric(.Value) And .Value <> vbNullString Then MsgBox "Maaf, Masukan data angka saja" .Value = vbNullString End If End With End If End Sub
Tahap 10 Anda bisa menggunakan variasi apabila ketika textbox aktif atau dipilih maka warna akan berubah. Ini dia script nya. Script ini juga akan menghasilkan perintah error yang merupakan pemanggilan prosedur dari tahap 9 diatas. Private Sub TXTNISN_Change() HanyaAngka End Sub Private Sub TXTHP_Change() HanyaAngka End Sub Private Sub txtnis_Enter() TXTNis.BackColor = &H80000005 End Sub Private Sub txtnis_Exit(ByVal Cancel As MSForms.ReturnBoolean) HanyaAngka TXTNis.BackColor = &HE0E0E0 End Sub Private Sub txtnama_enter() TXTNama.BackColor = &H80000005 End Sub Private Sub txtnama_Exit(ByVal Cancel As MSForms.ReturnBoolean) TXTNama.BackColor = &HE0E0E0 End Sub Private Sub txttempatlahir_enter() TXTTempatLahir.BackColor = &H80000005 End Sub Private Sub txttempatlahir_Exit(ByVal Cancel As MSForms.ReturnBoolean) TXTTempatLahir.BackColor = &HE0E0E0 End Sub Private Sub txttgllahir_enter() TXTTglLahir.BackColor = &H80000005 End Sub Private Sub txttgllahir_Exit(ByVal Cancel As MSForms.ReturnBoolean) TXTTglLahir.BackColor = &HE0E0E0 End Sub Private Sub txtalamat_Enter() TXTAlamat.BackColor = &H80000005 End Sub Private Sub txtalamat_Exit(ByVal Cancel As MSForms.ReturnBoolean) TXTAlamat.BackColor = &HE0E0E0 End Sub Private Sub cbokelamin_Enter() CBOKelamin.BackColor = &H80000005 End Sub Private Sub cbokelamin_Exit(ByVal Cancel As MSForms.ReturnBoolean) CBOKelamin.BackColor = &HE0E0E0 End Sub Private Sub txtnisn_Enter() TXTNISN.BackColor = &H80000005 End Sub Private Sub txtnisn_Exit(ByVal Cancel As MSForms.ReturnBoolean) TXTNISN.BackColor = &HE0E0E0 End Sub Private Sub txthp_Enter() TXTHP.BackColor = &H80000005 End Sub Private Sub txthp_Exit(ByVal Cancel As MSForms.ReturnBoolean) TXTHP.BackColor = &HE0E0E0 End Sub Private Sub txtskhun_Enter() TXTSKHUN.BackColor = &H80000005 End Sub Private Sub txtskhun_Exit(ByVal Cancel As MSForms.ReturnBoolean) TXTSKHUN.BackColor = &HE0E0E0 End Sub Private Sub txtijasah_Enter() TXTIjasah.BackColor = &H80000005 End Sub Private Sub txtijasah_Exit(ByVal Cancel As MSForms.ReturnBoolean) TXTIjasah.BackColor = &HE0E0E0 End Sub Private Sub txtnamaibu_Enter() TXTNamaIbu.BackColor = &H80000005 End Sub Private Sub txtnamaibu_Exit(ByVal Cancel As MSForms.ReturnBoolean) TXTNamaIbu.BackColor = &HE0E0E0 End Sub Private Sub txtthnlahiribu_Enter() TXTThnLahirIbu.BackColor = &H80000005 End Sub Private Sub txtthnlahiribu_Exit(ByVal Cancel As MSForms.ReturnBoolean) TXTThnLahirIbu.BackColor = &HE0E0E0 End Sub Private Sub txtpekibu_Enter() TXTPekIbu.BackColor = &H80000005 End Sub Private Sub txtpekibu_Exit(ByVal Cancel As MSForms.ReturnBoolean) TXTPekIbu.BackColor = &HE0E0E0 End Sub Private Sub cbopendidikanibu_Enter() CBOPendidikanIbu.BackColor = &H80000005 End Sub Private Sub cbopendidikanibu_Exit(ByVal Cancel As MSForms.ReturnBoolean) CBOPendidikanIbu.BackColor = &HE0E0E0 End Sub Private Sub txtnamaayah_Enter() TXTNamaAyah.BackColor = &H80000005 End Sub Private Sub txtnamaayah_Exit(ByVal Cancel As MSForms.ReturnBoolean) TXTNamaAyah.BackColor = &HE0E0E0 End Sub Private Sub txtthnayah_Enter() TXTThnAyah.BackColor = &H80000005 End Sub Private Sub txtthnayah_Exit(ByVal Cancel As MSForms.ReturnBoolean) TXTThnAyah.BackColor = &HE0E0E0 End Sub Private Sub txtpekayah_Enter() TXTPekAyah.BackColor = &H80000005 End Sub Private Sub txtpekayah_Exit(ByVal Cancel As MSForms.ReturnBoolean) TXTPekAyah.BackColor = &HE0E0E0 End Sub Private Sub cbopendidikanayah_Enter() CBOPendidikanAyah.BackColor = &H80000005 End Sub Private Sub cbopendidikanayah_Exit(ByVal Cancel As MSForms.ReturnBoolean) CBOPendidikanAyah.BackColor = &HE0E0E0 End Sub Private Sub txtpengayah_Enter() TXTPengAyah.BackColor = &H80000005 End Sub Private Sub txtpengayah_Exit(ByVal Cancel As MSForms.ReturnBoolean) TXTPengAyah.BackColor = &HE0E0E0 End Sub Private Sub txtalamatortu_Enter() TXTAlamatOrtu.BackColor = &H80000005 End Sub Private Sub txtalamatortu_Exit(ByVal Cancel As MSForms.ReturnBoolean) TXTAlamatOrtu.BackColor = &HE0E0E0 End Sub
Tahap terakhir silakan buat sebuah Worksheet untuk menyimpan database yang telah disimpan apabila menekan tombol simpan data maka data siswa akan tersimpan pada sheet yang telah ditentukan misalnya saya ganti sheet untuk menyimpan database dengan nama "DatabaseSiswa" Selesai. Allahamdulillah, tahapan membuat sebuah userform untuk input data siswa sudah berhasil dibuat dan untuk menjalankan nya silakan coba klik RUN Selamat mencoba semoga berhasil. Update : Membuat Script Pencarian data siswa silakan lihat Script Cari Data Siswa dengan CommandButton







0 komentar:
Posting Komentar