Anda di halaman 1dari 14

Tutorial Membuat Form Input Data Siswa

Berbasis Excel
April 23, 2017 aulianafisha

Selamat siang sobat, apa kabar? Semoga selalu diberi kesehatan yaa Pada kesempatan yang

lalu saya telah sedikit berbagi kepada sobat sekalian bagaimana cara membuat form isian data
sederhana, nah pada kesempatan kali ini kembali saya akan berbagi tutorial tentang Ms. Excel
khususnya Macro data dengan VBA, saya akan berbagi turorial tentang bagaimana cara membuat
form isian data siswa yang lebih kompleks daripada tutorial yang saya berikan sebelumnya. Oke
langsung saja, ayo disimak yaa

Langkah 1
Buka program aplikasi Ms. Excel kemudian buat sebuah dokumen baru lalu aktifkan VBA editor
dengan menekan kombinasi keyboard 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 Sobat harus membuat beberapa TextBox sebagai syarat untuk pengisian
data. Bagi yang belum tahu cara membuat textbox caranya adalah klik TextBox pada Toolbox
kemudian 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 ini 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
Hasil akhir kira-kira seperti ini

Langkah 5
Untuk tahap ke-5 silakan 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 (silahkan di copy saja
text di bawah ini)

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

STEP 7
Tahap ke-7 kita akan membuat 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
STEP 8
Membuat perintah CLOSE silakan ketikkan script nya dibawah ini dengan cara double klik
tombol CLOSE
Private Sub CMDClose_Click()
Unload Me
End Sub

STEP 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
STEP 10
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 11
Untuk 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 sudah tahapan membuat sebuah userform untuk input data siswa dan untuk menjalankan
nya silakan coba klik RUN

Semoga bermanfaat
Selamat mencoba semoga berhasil

Anda mungkin juga menyukai