Wow... posting ke-100... tidak nyangka !!! Semoga tutorial yang ada di rumahexcel dapat membawa perubahan yang significant terhadap pengguna excel di negeri ini... dan sebagai persembahan postingan yang ke-100, rumahexcel mencoba untuk memberikan langkah-langkah cara membuat, mendesain sebuah form untuk mengentry database siswa sederhana secara lengkap.
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:
| Control | Type | Property | Setting |
| UserForm | UserForm | Name | Menu |
| | Caption | Database Siswa |
| Label | Label | Caption | Nama Siswa |
| Label | Label | Caption | Jenis Kelamin |
| Label | Label | Caption | Kelas |
| Label | Label | Caption | Alamat |
| Label | Label | Caption | Nama Orang Tua |
| Nama Siswa | TextBox | Name | TxNama |
| Laki-laki | OptionButton | Name | OpLaki-laki |
| | Caption | Laki-laki |
| Perempuan | OptionButton | Name | OpPerempuan |
| | Caption | Perempuan |
| Kelas | ComboBox | Name | CbKelas |
| | Style | 2-fmStyleDropDownList |
| Alamat | TextBox | Name | TxAlamat |
| Nama Orang Tua | TextBox | Name | TxOrangTua |
| Status | Frame | Name | FrStatus |
| | Caption | Status |
| Aktif | OptionButton | Name | OpAktif |
| | Caption | Aktif |
| Alumni | OptionButton | Name | OpAlumni |
| | Caption | Alumni |
| Siswa Tidak Mampu | CheckBox | Name | ChTidakMampu |
| Hapus Form | CommandButton | Name | CmHapus |
| | Caption | Hapus Form |
| OK | CommandButton | Name | CmOK |
| | Caption | OK |
| Batal | CommandButton | Name | CmBatal |
| | Caption | Batal |
| | Cancel | True |
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 :
- Saya asumsikan Anda sudah membuka file Excel, kemudian aktifkan jendela Visual Basic Editor (tekan tombol Alt + F11)
- Di jendela Visual Basic Editor, klik menu Insert > UserForm
- Jika Toolbox tidak muncul, klik UserForm untuk menampilkannya atau klik menu View > Toolbox
- 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
- Untuk melakukan pengeditan terhadap sebuah Control, pastikan control tersebut sudah dalam keadaan terpilih yang kemudian lakukan beberapa perubahan di jendela properties
- 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.
- Masih dalam Jendela Editing Visual Basic, Klik 2x tombol BATAL pada UserForm untuk langsung menuju jendela kode dengan nama Private Sub CmBatal_Click()
- 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
- Masih dalam Jendela Editing Visual Basic, Klik 2x tombol Hapus Form pada UserForm untuk langsung menuju jendela kode dengan nama Private Sub CmHapusForm_Click()
- 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.
- Klik 2x tombol OK pada UserForm untuk langsung menuju jendela kode dengan nama Private Sub CmOK_Click()
- 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 pertamaMembuat 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 KeduaMemanggil 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 :

Semoga dapat memberikan manfaat bagi semuanya...
Jika Anda menginginkan hasil jadi tutorial ini untuk dijadikan latihan, klik file project
di sini