Diskusi tentang Excel

Script Cari Data Siswa dengan CommandButton pada Form Input Data

Jika Anda telah membaca artikel tutorial saya mengenai Form Input Data Siswa Berbasis Excel Versi Update Maret 2015 dengan VBA munkin Anda telah berhasil membuat sebuah UserForm yang interaktif namun ada beberapa pertanyaan dan saya lihat pada komentar diantaranya bagaimana cara membuat sebuah kode pencarian data siswa menggunakan CommandButton.

Baiklah berikut saya uraikan bagaimana cara membuat sebuah pencarian data pada UserForm input data siswa.

Langkah Pertama

Silakan buka kembali desain atau rancangan Form Input Data Siswa yang sudah dibuat kemudian aktifkan juga VBA editornya dengan cara menekan tombol F11, jika sudah selesai aktifkan atau klik FormSiswa

Langkah Kedua

Tahap berikutnya adalah Anda harus menambahkan satu buah Frame dan tempatkan pada rancangan Form Siswa tersebut, kemudian juga tambahkan ComboBox, Label, serta satu buah CommandButton dan rancang hingga seperti berikut ini


Perhatikan yang ditunjukan oleh anak panah diatas,

Langkah Ketiga

Tahap berikutnya adalah Anda harus merubah properties dari setiap masing-masing objek dengan rincian sebagai berikut :

Frame2 hapus pada properties Caption
Label22 ganti Caption menjadi "Masukan NIS"
ComboBox ganti Name menjadi "CBOCari" RowSource silakan ketikkan : =DatabaseSiswa!$B$2:$B$1000
CommandButton ganti Name menjadi "CMDCari" dan Caption menjadi "Cari"

Langkah Ke-Empat

Tahap keempat adalah kita akan mengetikkan script untuk tombol Cari Data Siswa silakan double klik dan ketikkan script berikut :

Private Sub TBLCariData_Click()
Frame2.Visible = True
CBOCari.SetFocus
End Sub
Pada UserForm_Initialize silakan tambahkan script berikut untuk menyembunyikan objek Frame2
Frame2.Visible = False

Tahap Kelima

Tahap berikutnya adalah kita akan membuat sebuah script VBA yang digunakan untuk mencari dan menemukan data yang ada di database siswa dengan menggunakan tombol. Caranya adalah silakan double klik CMDCari dan ketikkan script berikut :

Private Sub CMDCari_Click()
Dim CARI As Range
Dim ws As Worksheet
Dim Nama As String

Set ws = Worksheets("databasesiswa")
    Nama = Me.CBOCari.Text
    Set CARI = ws.Range("B2:B1000").Find(What:=CBOCari)
    If Not CARI Is Nothing Then
       
        Frame2.Visible = False
        CBOCari.Text = ""
        TXTNis.Text = ws.Cells(CARI.Row, 2)
        TXTNama.Text = ws.Cells(CARI.Row, 3)
        TXTTempatLahir.Text = ws.Cells(CARI.Row, 4)
        TXTTglLahir.Text = ws.Cells(CARI.Row, 5)
        CBOKelamin.Text = ws.Cells(CARI.Row, 6)
        TXTAlamat.Text = ws.Cells(CARI.Row, 7)
        TXTNISN.Text = ws.Cells(CARI.Row, 8)
        TXTHP.Text = ws.Cells(CARI.Row, 9)
        TXTSKHUN.Text = ws.Cells(CARI.Row, 10)
        TXTIjasah.Text = ws.Cells(CARI.Row, 11)
        TXTNamaIbu.Text = ws.Cells(CARI.Row, 12)
        TXTThnLahirIbu.Text = ws.Cells(CARI.Row, 13)
        TXTPekIbu.Text = ws.Cells(CARI.Row, 14)
        CBOPendidikanIbu.Text = ws.Cells(CARI.Row, 15)
        TXTNamaAyah.Text = ws.Cells(CARI.Row, 16)
        TXTThnAyah.Text = ws.Cells(CARI.Row, 17)
        TXTPekAyah.Text = ws.Cells(CARI.Row, 18)
        CBOPendidikanAyah.Text = ws.Cells(CARI.Row, 19)
        TXTPengAyah.Text = ws.Cells(CARI.Row, 20)
        TXTAlamatOrtu.Text = ws.Cells(CARI.Row, 21)
       
        TXTNis.BackColor = &H8000000E
        TXTNama.BackColor = &H8000000E
        TXTTempatLahir.BackColor = &H8000000E
        TXTTglLahir.BackColor = &H8000000E
        CBOKelamin.BackColor = &H8000000E
        TXTAlamat.BackColor = &H8000000E
        TXTNISN.BackColor = &H8000000E
        TXTHP.BackColor = &H8000000E
        TXTSKHUN.BackColor = &H8000000E
        TXTIjasah.BackColor = &H8000000E
        TXTNamaIbu.BackColor = &H8000000E
        TXTThnLahirIbu.BackColor = &H8000000E
        TXTPekIbu.BackColor = &H8000000E
        CBOPendidikanIbu.BackColor = &H8000000E
        TXTNamaAyah.BackColor = &H8000000E
        TXTThnAyah.BackColor = &H8000000E
        TXTPekAyah.BackColor = &H8000000E
        CBOPendidikanAyah.BackColor = &H8000000E
        TXTPengAyah.BackColor = &H8000000E
        TXTAlamatOrtu.BackColor = &H8000000E
        Else
        MsgBox "Maaf NIS tidak ditemukan", 48, "Peringatan..."
        CBOCari.Text = ""
        CBOCari.SetFocus

    End If
End Sub
Selesai.
Dari kode-kode VBA diatas akan menghasilkan alur sebagai berikut
Jika di klik tombol "Cari Data Siswa" maka akan muncul Frame yang didalamnya terdapat ComboBox beserta tombol Cari


Jika Anda memasukan data NIS pada Combo diatas kemudian tekan tombol Cari maka data yang ditemukan dengan ID NIS akan ditampilkan pada Field masing-masing dan hasilnya akan seperti gambar dibawah ini kemudian Fram akan otomatis menghilang



Lalu bagaimana jika Anda ingin mencari data siswa kembali?
Silakan tekan tombol "Cari Data Siswa" maka fram pencarian juga akan otomatis muncul dan begitu seterusnya.

Selamat mencoba, semoga bermanfaat.

Related

Macro Excel VBA 4055387354142258065

Post a Comment

  1. saat simpan data yang kedua... data permata hilang.
    data yang kedua tu disimpan pada cell yang sama dengan data pertama..
    gemana ne ??

    ReplyDelete
  2. Permisi Mas Yatna....setelah pencarian data bisa gak diteruskan dengan edit data (update/ubah data) lalu disimpan seperti fungsi replace tanpa jadi data baru...terima kasih sebelumnya..

    ReplyDelete
  3. Setelah saya ikuti langkah diatas malah muncul pesan Runtime Erorr 424

    ReplyDelete
  4. Susah Mas. Masih belajar nih, minta file jadi dong :D luckyhermn@gmail.com

    ReplyDelete
  5. Makasih Oom, atas ilmunya, dua tahapan (Form Input Data Siswa Berbasi Excel dan Script Cari data Siswa) sudah berhasil lancar. Langkah berikutnya :
    - bagaimana caranya agar data tidak berganda/double.
    - cetak
    - unggah/edit foto/gambar
    - edit/ubah data
    - kunci sell/data/worksheet
    hehhehehe
    makasih ya Oommmmmmmmmmmmmmmm.

    ReplyDelete
  6. Thanks... atas share ilmunya...

    ReplyDelete

Tulisan ini Bermanfaat..? Silakan berkomentar sesuai topik artikelnya, tidak dianjurkan menggunakan kata-kata yang dapat menimbulkan hal negatif. Mohon maaf apabila tidak memiliki etika akan Admin HAPUS tanpa pemberitahuan kembali. Terimakasih... salam Exceler

emo-but-icon

item