Minggu, 24 Maret 2013

MEMBUAT FORM INPUT DATA DENGAN VBA

Emang seru belajar excel itu, karena selalu ada hal baru.
Di sini Saya mau shar Cara MEMBUAT FORM INPUT DENGAN VBA
Yang biasanya ini di gunakan untuk mempermudah input database.
Tahapannya :
  • Pertama

Buka Excel baru, jika macro belum di aktifkan, aktifkan terlebih dahulu.
Silahkan Lihat di SINI untuk cara mengaktifkan macro.
  •  Ke Dua
Buat Sheet seperti gambar :
  •  Ke Tiga
Klik kanan Shapes “Aplikasi”, pilih “Assign Macro”
  
Muncul gambar seperti di bawah kemudian Kasih Nama “Buka” tanpa tanda kutip dan klik “New”

Ketikan kode di bawah ini :
UserForm1.Show
Tepat di tengah-tengah Sub buka ( ) dan End Sub
Lihat gambar di bawah
 Save

** Kembali ke Excel, Sheet Menu, Klik kanan Shapes “Cek Database”, pilih “Assign Macro”
kemudian Kasih Nama “data” tanpa tanda kutip dan klik “New”
Ketikan kode di bawah ini :
Sheets("DATABASE").Select
Tepat di tengah-tengah Sub data ( ) dan End Sub
Save

** Kembali ke Excel, Sheet DATABASE, Klik kanan Shapes “BACK TO MENU”, pilih “Assign Macro”
kemudian Kasih Nama “menu” tanpa tanda kutip dan klik “New”
Ketikan kode di bawah ini :
Sheets("Menu").Select
Tepat di tengah-tengah Sub menu ( ) dan End Sub
Save

** Kembali ke Excel, Sheet DATABASE, Klik kanan Shapes “CLEAR DATABASE”, pilih “Assign Macro”
kemudian Kasih Nama “clear” tanpa tanda kutip dan klik “New”
Ketikan kode di bawah ini :
Range("a2:e100").ClearContents
Tepat di tengah-tengah Sub clear ( ) dan End Sub
Save 
  • Ke Empat
Buat Form dengan cara seperti gambar berikut ini : 
  •  Ke Lima

Rubah Propertisenya :

 Salah satu Contoh seperti gambar berikut   :
 Jika sudah selesai semua tinggal tahapan 
  • Terakhir

Klik dua kali Tombol TAMBAH DATA
Ketikan atau Pastekan kode di bawah ini :
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("DATABASE")

'menemukan baris kosong pada database karyawan
iRow = ws.Cells(Rows.Count, 1) _
  .End(xlUp).Offset(1, 0).Row

'check untuk sebuah nomor
If Trim(Me.nomor.Value) = "" Then
  Me.nomor.SetFocus
  MsgBox "Masukan NOMOR terlebih dahulu"
  Exit Sub
End If

'copy data ke database karyawan
ws.Cells(iRow, 1).Value = Me.nomor.Value
ws.Cells(iRow, 2).Value = Me.nama.Value
ws.Cells(iRow, 3).Value = Me.kelamin.Value
ws.Cells(iRow, 4).Value = Me.jabatan.Value
ws.Cells(iRow, 5).Value = Me.departemet.Value

'clear data karyawan
Me.nomor.Value = ""
Me.nama.Value = ""
Me.kelamin.Value = ""
Me.jabatan.Value = ""
Me.departemet.Value = ""
Me.nomor.SetFocus

End Sub

Private Sub CMDTTP_Click()
    Unload Me
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, _
  CloseMode As Integer)
  If CloseMode = vbFormControlMenu Then
    Cancel = True
    MsgBox "Gunakan Tombol TUTUP PROGRAM untuk Keluar"
  End If
Tepat di di tengah-tengah kode Private Sub CMDTMBH_Click() dan End Sub 
 
Seeeleeesaaaiiii.
Silahkan di Save dan di Uji Coba.
Untuk melihat Contoh yang sudah Jadi silahkan Download di SINI
Semoga Berhasil dan Bermanfaat.
Terima Kasih Sudah Berkunjung.