My Diary.
to Share my Life Events

Cara Mudah Membuat Form Input Data Siswa Berbasis Excel dengan VBA

Hai teman-teman, pada kesempatan kali ini kita akan membahas kembali mengenai Macro pada Microsoft Excel namun pokok bahasannya kali ini sedikit berbeda. Kita akan belajar bersama mengenai Cara Mudah Membuat Form Input Data Siswa Berbasis Excel dengan VBA.
Input data siswa yang masih menggunakan Excel sebagai pengolahan database siswa memang masih banyak sekali digunakan, karena cara ini dinilai lebih efektif dan efisien dibandingkan jika kita harus mengisi satu per satu data siswa dalam suatu tabel dan sebagainya. Nah berikut ini adalah langkah-langkahnya :
  1. Buat sebuah dokumen baru, kemudian aktifkan VBA editor dengan menekan kombinasi keyboard ALT+F11, setelah itu klik tab Insert, selanjutnya klik UserForm.
  2. Setelah menyisipkan sebuah form baru, kita dapat edit ukuran formnya sesuai dengan kebutuhan, kemudian buat sebuah label dengan menggunakan Toolbox dan letakkan pada form kemudian ganti Caption sesuai dengan yang kita tulis pada label tersebut. Untuk lebih jelasnya, silahkan teman-teman lihat Gambar 2.
  3. Setelah label NIS terbuat silahkan buat label berikutnya sesuai dengan Field di atas. Cara membuatnya sama dengan langkah ke-2, sehingga form akan tampak seperti gambar di bawah ini (Gambar 3). Jangan lupa ubah properties Caption sesuai dengan fieldnya.
  4. Selanjutnya buatlah beberapa TextBox sebagai syarat untuk pengisian data, dengan cara klik TextBox pada Toolbox kemudan drag ke UserForm, misalnya untuk membuat Textbox NIS jangan lupa ubah properties Name menjadi "TXTNis" untuk mendefinisikan supaya tidak lupa dalam membuat kode program VBA nya. Dan seterusnya buat beberapa textbox sesuai kebutuhan. Kita bisa juga menggunakan teknik copy paste agar waktu pengerjaan lebih efisien.
    Selanjutnya silahkan teman-teman ganti properties 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, silahkan teman-teman buat dengan cara klik Toolbox, kemudian klik Combobox dan jangan lupa untuk mengganti properties name nya.                           ComboBox1 ganti dengan CBO CBOKelamin
    ComboBox2 ganti dengan CBO CBOPendidikanIbu
    ComboBox3 ganti dengan CBO CBOPendidikanAyah
  5. Selanjutnya buatlah tombol menggunakan CommandButton, dengan cara klik Toolbox, kemudian klik CommandButton. Sebagai contoh, buatlah tombol "Simpan", tombol "Cari Data Siswa" dan tombol "Close". Untuk masing-masing tombol silahkan ubah properties name menjadi :
    CommandButton1 ganti dengan "TBLSimpan"
    CommandButton2 ganti dengan "TBLCariData"
    CommandButton3 ganti dengan “CMDClose"
    Untuk lebih jelasnya, silahkan teman-teman perhatikan gambar 6 di bawah ini :
  6. Langkah berikutnya adalah langkah membuat script VBA. Silahkan View Code dengan cara klik ikon View Code atau klik kanan lalu klik View Code kemudian copy and paste 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
  7. Setelah itu, kita akan membuat sebuah script VBA untuk “Simpan” data siswa. Silahkan teman-teman 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
  8. Langkah berikutnya yaitu membuat perintah CLOSE. Silahkan teman-teman double klik tombol CLOSE, kemudian ketikkan script nya di bawah ini :
    Private Sub CMDClose_Click()
    Unload Me
    End Sub
  9. Setelah itu, buatlah sebuah validasi data untuk textbox yang berisi data angka agar data yang diinput hanya berupa data angka bukan huruf. Apabila data yang dimasukkan pada textbox bukan berupa data angka maka secara otomatis akan menampilkan pesan error. Silahkan teman-teman ketikkan script VBA nya 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
  10. Pada tahap ini, kita bisa menggunakan variasi, ketika textbox aktif atau dipilih maka warna akan berubah. Script berikut ini juga akan menghasilkan perintah error yang merupakan pemanggilan prosedur dari langkah ke-9 di atas.ke-9 di atas.
    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
  11. Untuk tahap terakhir silahkan 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".
  12. Setelah sebuah userform untuk input data siswa berhasil dibuat, untuk menjalankannya silakan teman-teman coba klik tab RUN, sehingga hasil akhirnya akan tampak seperti Gambar 7 di bawah ini.
Nah, demikianlah langkah-langkah atau cara sederhana membuat form input data siswa berbasis Excel dengan VBA. Selamat mencoba ya teman-teman. Semoga bermanfaat. Apabila ada kesalahan, mohon dimaafkan ya (masih belajar juga). Terima kasih.

Teman-teman klik Cara Mudah Membuat Form Input Data Siswa Berbasis Excel dengan VBA untuk mendownload artikel ini.
  • 0
  • April 11, 2017
rido rido Author

Studying and Working

Eyerie - Game Of Thrones

Cari Blog Ini

Words of Wisdom

Words of Wisdom
The Fear of The Lord is The Beginning of Knowledge

We are STANNERS

flickr photos

latest tweets

grids

About us

cars

random posts

recent posts

Blue Fire Pointer

health

technology

slider1

three columns

business

Ad

Popular entries