Minggu, 08 Juni 2014

Membuat UserForm Entry Database Siswa Lengkap

Data Duplikat
Form Database Siswa adalah bentuk sederhana yang menggambarkan prinsip-prinsip desain UserForm dan terkait VBA coding. Menggunakan pilihan kontrol, termasuk kotak teks, kotak kombo, tombol pilihan yang dikelompokkan dalam bingkai (frame), kotak cek dan tombol perintah. dan Ketika pengguna mengklik tombol OK, sebuah data baru dimasukan ke dalam baris yang telah tersedia secara berurutan dalam lembar kerja.

Sebelum memulai tutorial ini, berikut beberapa control atau tombol serta bahan-bahan lain yang akan kita gunakan:

ControlTypePropertySetting
UserFormUserFormNameMenu


CaptionDatabase Siswa
LabelLabelCaptionNama Siswa
LabelLabelCaptionJenis Kelamin
LabelLabelCaptionKelas
LabelLabelCaptionAlamat
LabelLabelCaptionNama Orang Tua
Nama SiswaTextBoxNameTxNama
Laki-lakiOptionButtonNameOpLaki-laki


CaptionLaki-laki
PerempuanOptionButtonNameOpPerempuan


CaptionPerempuan
KelasComboBoxNameCbKelas


Style2-fmStyleDropDownList
AlamatTextBoxNameTxAlamat
Nama Orang TuaTextBoxNameTxOrangTua
StatusFrameNameFrStatus


CaptionStatus
AktifOptionButtonNameOpAktif


CaptionAktif
AlumniOptionButtonNameOpAlumni


CaptionAlumni
Siswa Tidak MampuCheckBoxNameChTidakMampu
Hapus FormCommandButtonNameCmHapus


CaptionHapus Form
OKCommandButtonNameCmOK


CaptionOK
BatalCommandButtonNameCmBatal


CaptionBatal


CancelTrue
jika jendela property belum keluar, tekan tombol F4 di keyboard
Mendesain Sebuah UserForm
Untuk membangun sebuah desain UserForm seperti di atas (atau UserForm Lain), ikuti langkah berikut :
  1. Saya asumsikan Anda sudah membuka file Excel, kemudian aktifkan jendela Visual Basic Editor (tekan tombol Alt + F11)
  2. Di jendela Visual Basic Editor, klik menu Insert > UserForm
  3. Jika Toolbox tidak muncul, klik UserForm untuk menampilkannya atau klik menu View > Toolbox
  4. Untuk menempatkan tombol (control) ke dalam UserForm cukup dengan memilih tombol atau control yang diinginkan kemudian Klik UserForm, Atur posisi, ukuran atau sejenisnya sesuai selera
  5. Untuk melakukan pengeditan terhadap sebuah Control, pastikan control tersebut sudah dalam keadaan terpilih yang kemudian lakukan beberapa perubahan di jendela properties
  6. Jika terdapat kesalahan saat menambahkan control, cukup dengan memilih control tersebut dan tekan tombol delete di keyboard Anda
Sebuah UserForm yang sudah dibangun tentunya tidak akan dapat berjalan dengan sendirinya, ada beberapa kode-kode yang harus menjalankannya.
Kode Dasar
Hampir kebanyakan Form perlu adanya pengaturan saat mereka muncul, atau yang biasanya kita sebut dengan nilai default. Proses seperti ini dalam Macro ditempatkan di UserForm_Initialize.

Untuk menambahkan kode pada bagian ini, terlebih dulu aktifkan jendela Code atau Anda dapat langsung menekan tombol F7
Private Sub UserForm_Initialize()
TxNama=""
TxAlamat=""
TxOrangTua=""

OpLaki=false
OpPerempuan=False
with CbKelas
    .AddItem "Kelas X"
    .AddItem "Kelas XI"
    .AddItem "Kelas XII"
End With
CbKelas = ""

OpAktif = False
OpAlumni = False
ChTidakMampu = False

TxNama.setFocus
End Sub

Menambahkan Kode Pada Tombol
Dari desain UserForm kita di atas, terdapat tiga buah tombol yang mana masing-masing mempunyai kode dan perintahnya sendiri.
OK... kita mulai dengan yang paling sederhana.

Tombol BATAL :
seperti yang saya katakan di atas ini merupakan kode yang paling sederhana yakni berfungi untuk menutup UserForm.
  1. Masih dalam Jendela Editing Visual Basic, Klik 2x tombol BATAL pada UserForm untuk langsung menuju jendela kode dengan nama Private Sub CmBatal_Click()
  2. Dan, baris prosesur lengkapnya untuk tombol ini seperti berikut:
    Private Sub CmBatal_Click()
       Unload Me
    End Sub
Tombol Hapus Form :
Pada langkah sebelumnya kita sudah membuat kode yang berfungsi sebagai nilai default dari sebuah UserForm. Nah, agar kode tersebut tidak mubazir kita akan menggunakannya kembali dengan memakai perintah Call
  1. Masih dalam Jendela Editing Visual Basic, Klik 2x tombol Hapus Form pada UserForm untuk langsung menuju jendela kode dengan nama Private Sub CmHapusForm_Click()
  2. Dan, baris prosesur lengkapnya untuk tombol ini seperti berikut:
    Private Sub CmHapusForm_Click()
       Call UserForm_Initialize
    End Sub
Artinya, perintah itu akan memanggil kode-kode yang sudah tertulis atau yang terdapat di UserForm_Initialize

Catatan
  • Ada baiknya simpan terlebih dahulu pekerjaan Anda sebelum terjadi hal-hal yang tidak diinginkan. Dan, ingat menyimpannya harus dengan type Excel Marco - Enabled Workbook
  • Rename Sheet1 atau Sheet lainnya misal dengan nama DATA SISWA
Tombol OK :
OK... sekarang kita akan menempatkan beberapa kode untuk melakukan sebuah perintah atau lebih tepatnya mentransfer segala apa yang kita pilih atau ketik di UserForm ke dalam Lembar Kerja.
  1. Klik 2x tombol OK pada UserForm untuk langsung menuju jendela kode dengan nama Private Sub CmOK_Click()
  2. Dan, berikut kode lengkapnya :
    Private Sub CmOK_Click()
    ActiveWorkbook.Sheets("Data Siswa").Activate
    'kode di atas untuk memastikan lembar kerja yang digunakan sebagai tempat menyimpan informasi dari UserForm
    Range("A1").select

    Do
    If IsEmpty(ActiveCell) = FalseThen
       ActiveCell.Offset(1, 0).Select
    End If

    Loop Until IsEmpty(ActiveCell) = True

    ActiveCell.Value = TxNama.Value
    If OpLaki = True Then
        ActiveCell.Offset(0, 1) = "Laki-laki"
        ElseIf OpPerempuan = True Then
        ActiveCell.Offset(0, 1) = "Perempuan"
    End If
    ActiveCell.Offset(0, 2) = CbKelas.Value
    ActiveCell.Offset(0, 3) = TxAlamat.Value
    ActiveCell.Offset(0, 4) = TxOrangTua.Value
    If OpAktif = True Then
        ActiveCell.Offset(0, 5) = "Aktif"
        ElseIf OpAlumni = True Then
        ActiveCell.Offset(0, 5) = "Alumni"
    End If
    If ChTidakMampu = True Then
        ActiveCell.Offset(0, 6) = "Ya"
        ElseIf OpAlumni = True Then
        ActiveCell.Offset(0, 6) = "Tidak"
    End If
    Range("A1").Select
    'Kode berikut ini dapat ditambahhan jika menginginkan file di simpan setiap kali pengguna mengklik tombol OK
    Application.ActiveWorkbook.Save
    End Sub

Membuka Form Database Siswa
Form untuk mengentry database siswa sudah siap untuk digunakan, namun ada satu kode yang kurang; ya... kode untuk memanggil form. Permasalahan ini dapat diselesaikan dengan 2 cara;

Cara yang pertama
Membuat sebuah tombol, grafik, atau form control yang diletakkan dalam lembar kerja, kemudian klik kanan grafik atau tombol tersebut dan pilih perintah Assign Macro selanjutnya tambahkan sebuah module untuk memanggil Form seperti berikut :
Sub BukaMenu()
    Menu.show
End Sub

Cara yang Kedua
Memanggil Form secara otomatis ketika file dibuka, dengan menuliskan perintah berikut dalam ThisWorkbook
Private Sub Workbook_Open()
   Menu.Show
End Sub

Format Judul Header
Pastikan lembar kerja yang digunakan sebagai tempat menyimpan informasi dari UserForm sudah terpilih, dalam contoh ini pilih sheet Data Siswa, jika belum rename nama sheetnya. Kemudian buatlah sebuah format seperti berikut :
Format Data Siswa

Semoga dapat memberikan manfaat bagi semuanya...

Tidak ada komentar:

Posting Komentar