Anda di halaman 1dari 11

Membuat Form Input Data Siswa Menggunakan Macros

Pada Microsoft Excel


Microsoft Excel merupakan salah satu pengolah data berup aangka. Salah satu data yang
sering diolah pada lembaga pendidikan adalah data siswa. Dalam menginput data siswa,
Excel memiliki fitur yang kita dapat membantu kita agar lebih efektif dan efisien dalam
menginput data karena tidak harus mengisi data satu persatu. Fitur itu ialah pembuatan
database sendiri seperti membuat Form Input Data Siswa Berbasis Excel dengan VBA
Pembuatan database tersebut dapat dilakukan dengan membuat macros. Berikut ini adalah
langkah-langkah membuat macros pada Microsoft Excel :

1. Buka aplikasi Microsoft Excel, lalu buat lembar kerja baru.


2. Kita aktifkan VBA editor dengan menekan shortcut ALT+F11, maka akan tampil lembar
kerja Microsoft Visual Basic for Applications.
3. Kemudian pilih tab Insert lalu klik UserForm. Kemudian akan muncul kotak toolbox.

4. Pada kotak Toolbox tersebut, kita dapat memilih berbagai jenis yang kita butuhkan
dalam membuat form. Beberapa yang saya gunakan antara lain:
a. Label : digunakan untuk menuliskan kriteria atau data yang dimaksudkan. Secara
default label akan dinamai Label1, Label2, dan seterusnya. Jadi untuk mengubah nama
label tersebut kita dapat mengubah nama Caption pada Properties sesuai kebutuhan
kita.
b. Combo Box : digunakan untuk membuat beberapa pilihan sehingga data siswa dapat
diisi dengan memilih salah satu pilihan tersebut.
c. TextBox : digunakan sebagai tempat pengisian data sehingga untuk mengisi data siswa
kita dapat menuliskannya pada format yang telah diberikan.
d. Common Button : digunakan sebagai button yang berfungsi melakukan perintah sesuai
captionnya.
e. Dan lain-lain.
5. Pilih Label pada Toolbox. Atur ukuran label. Kemudian kita ubah nama Label tersebut
dengan mengubah captionnya menjadi NIS dan Namesnya menjadi NIS. Lakukan hal
tersebut pada label-label selanjutnya antara lain label untuk Nama Lengkap, Tempat
Lahir, Tanggal Lahir, Jenis Kelamin, Alamat, NISN, No. HP, No. SKHUN, No. Seri
Ijazah, Nama Ibu Kandung, Tahun Lahir, Pekerjaan Ibu, Pendidikan Ibu, Nama Ayah,
Tahun Lahir, Pekerjaan Ayah, Pendidikan Ayah, Penghasilan Ortu, dan Alamat Ortu
*untuk Name harus diisi tanpa spasi

6. Pilih Combo Box pada Toolbox. Atur ukurannya. Kemudian, untuk mengubah nama
combo box, kita dapat mengganti namesnya menjadi CBOKelamin untuk combo box
jenis kelamin. Lakukan hal tersebut pada combo box selanjutnya antara lain combo box
untuk jenis pekerjaan ayah dan jenis pekerjaan ibu.
7. Pilih Text Box pada Toolbox. Atur ukurannya. Kemudian, untuk mengubah nama text
box, kita dapat mengganti namesnya menjadi TXTNis untuk text box pengisian NIS.
Lakukan hal tersebut pada text box selanjutnya antara lain Nama Lengkap, Tempat
Lahir, Tanggal Lahir, Alamat, NISN, No. HP, No. SKHUN, No. Seri Ijazah, Nama Ibu
Kandung, Tahun Lahir, Pekerjaan Ibu, Nama Ayah, Tahun Lahir, Pendidikan Ayah,
Penghasilan Ortu, dan Alamat Ortu.

8. Pilih Common Button pada Toolbox. Atur ukurannya. Kemudian, untuk mengubah
nama common button, kita dapat mengganti captionnya menjadi Simpan dan namesnya
menjadi CMDSimpan untuk common button simpan. Lakukan hal tersebut pada common
button selanjutnya yaitu Cari Data Siswa dan Close.
Apabila telah selesai, maka akan keluar hasil berikut:

9. Setelah mendapatkan hasil tersebut, kita membuat script VBA. Silahkan Pilih tab View
kemudian pilih Code atau klik ikon View Code atau klik kanan lalu klik View Code.

Untuk membuat initial pada UserForm, tuliskan script berikut:

Private Sub UserForm_Initialize()


With CBOKelamin
.AddItem “Laki-Laki”
.AddItem “Perempuan”
End With
With CBOPenIbu
.AddItem “Tidak Sekolah”
.AddItem “SD”
.AddItem “SMP”
.AddItem “SMA”
.AddItem “D1”
.AddItem “D2”
.AddItem “D3”
.AddItem “S1”
.AddItem “S2”
.AddItem “S3”
End With
With CBOPenAyah
.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

10. Kemudian kita akan membuat sebuah script VBA untuk “Simpan” data siswa dengan
cara menyalin script berikut:

Private Sub CMDSimpan_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.TXTTanggalLahir.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.TXTNoHP.Value
Ws.Cells(iRow, 10).Value = Me.TXTNoSKHUN.Value
Ws.Cells(iRow, 11).Value = Me.TXTNoIjazah.Value
Ws.Cells(iRow, 12).Value = Me.TXTNamaIbu.Value
Ws.Cells(iRow, 13).Value = Me.TXTTahunIbu.Value
Ws.Cells(iRow, 14).Value = Me.TXTPekIbu.Value
Ws.Cells(iRow, 15).Value = Me.CBOPenIbu.Value
Ws.Cells(iRow, 16).Value = Me.TXTNamaAyah.Value
Ws.Cells(iRow, 17).Value = Me.TXTTahunAyah.Value
Ws.Cells(iRow, 18).Value = Me.TXTPekAyah.Value
Ws.Cells(iRow, 19).Value = Me.CBOPenAyah.Value
Ws.Cells(iRow, 20).Value = Me.TXTPenghasilanOrtu.Value
Ws.Cells(iRow, 21).Value = Me.TXTAlamatOrtu.Value

‘clear data siswa


Me.TXTNis.Value = “”
Me.TXTNama.Value = “”
Me.TXTTempatLahir.Value = “”
Me.TXTTanggalLahir.Value = “”
Me.CBOKelamin.Value = “”
Me.TXTAlamat.Value = “”
Me.TXTNISN.Value = “”
Me.TXTNoHP.Value = “”
Me.TXTNoSKHUN.Value = “”
Me.TXTNoIjazah.Value = “”
Me.TXTNamaIbu.Value = “”
Me.TXTTahunIbu.Value = “”
Me.TXTPekIbu.Value = “”
Me.CBOPenIbu.Value = “”
Me.TXTNamaAyah.Value = “”
Me.TXTTahunAyah.Value = “”
Me.TXTPekAyah.Value = “”
Me.CBOPenAyah.Value = “”
Me.TXTPenghasilanOrtu.Value = “”
Me.TXTAlamatOrtu.Value = “”
Me.TXTNis.SetFocus

‘Simpan data
Application.ActiveWorkbook.Save
End Sub

11. Untuk membuat perintah CLOSE, kita dapat menyalin script di bawah ini:

Private Sub CMDClose_Click()


Unload Me
End Sub
12. Lalu buat sebuah validasi data untuk textbox seperti NIS yang berisi data angka agar data
yang diinput hanya berupa data angka buka huruf. Apabila data yang dimasukan pada
textbox bukan berupa data angka maka secara otomatis akan menampilkan pesan error.
Caranya dengan menyalin script di bawah ini:

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

13. Kemudian salin script dibawah ini. Ketika textbox aktif atau dipilih maka warna akan
berubah. Script berikut ini juga akan menghasilkan perintah error yang merupakan
pemanggilan prosedur dari tahap sebelumnya.

Private Sub TXTNISN_Change()


HanyaAngka
End SubPrivate Sub TXTNoHP_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 txttanggallahir_enter()


TXTTanggalLahir.BackColor = &H80000005
End Sub
Private Sub txttgllahir_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TXTTanggalLahir.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 txtnohp_Enter()


TXTNoHP.BackColor = &H80000005
End Sub
Private Sub txthp_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TXTNoHP.BackColor = &HE0E0E0
End Sub

Private Sub txtnoskhun_Enter()


TXTNoSKHUN.BackColor = &H80000005
End Sub
Private Sub txtnoskhun_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TXTNoSKHUN.BackColor = &HE0E0E0
End Sub

Private Sub txtnoijazah_Enter()


TXTNoIjazah.BackColor = &H80000005
End Sub
Private Sub txtnoijazah_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TXTNoIjazah.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 txttahunibu_Enter()


TXTTahunIbu.BackColor = &H80000005
End Sub
Private Sub txttahunibu_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TXTTahunIbu.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 cbopenibu_Enter()


CBOPenIbu.BackColor = &H80000005
End Sub
Private Sub cbopenibu_Exit(ByVal Cancel As MSForms.ReturnBoolean)
CBOPenIbu.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 txttahunayah_Enter()


TXTTahunAyah.BackColor = &H80000005
End Sub
Private Sub txttahunayah_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TXTTahunAyah.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 cbopenayah_Enter()


CBOPenAyah.BackColor = &H80000005
End Sub
Private Sub cbopenayah_Exit(ByVal Cancel As MSForms.ReturnBoolean)
CBOPenAyah.BackColor = &HE0E0E0
End Sub

Private Sub txtpenghasilanortu_Enter()


TXTPenghasilanOrtu.BackColor = &H80000005
End Sub
Private Sub txtpenghasilanortu_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TXTPenghasilanOrtu.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

14. Kemudian persiapkan sebuah worksheet. Worksheet ini digunakan 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.
15. Setelah semua script kita tempel dan satukan, maka tahap selanjutnya adalah
menjalankannya. Sebelum menjalankannya, kita harus memastikan bahwa kode yang
kita tuliskan sesuai dengan nama yang kita berikan pada masing-masing tool, contohnya
TextBox NIS kita namai TXTNis maka pada script kita tuliskan juga TXTNis. Cara
untuk menjalankannya adalah klik tab Run lalu pilih Run Sub/UserForm.

Kemudian apabila telah berhasil akan muncul Form Input Data Siswa seperti dibawah ini.
Kita tinggal melakukan pengisian data siswa sesuai kebutuhan.

Anda mungkin juga menyukai