Hallo semuanya! Hari ini kita akan membahas tentang Excel-Macro dan bagaimana membuat User Form dengan Command Button menggunakan VBA (Visual Basic for Applications) di Excel.
User Form dan Command Button
Pertama-tama, mari kita bahas apa itu User Form dan Command Button dalam Excel. User Form adalah elemen antarmuka pengguna yang memungkinkan pengguna memasukkan data atau informasi ke dalam lembar kerja, mengedit data atau informasi yang sudah ada, atau melihat data atau informasi dalam format yang lebih mudah dibaca. Command Button adalah salah satu kontrol yang bisa ditambahkan pada user form. Fungsinya adalah untuk memberikan aksi pada user form seperti mengubah, menyimpan, atau memproses data dengan menggunakan VBA.
Cara Membuat User Form
Pertama-tama, kita perlu membuat User Form. Caranya adalah sebagai berikut:
- Buka Excel dan tekan ALT + F11 untuk membuka VBA Editor.
- Pada menu bar, pilih Insert > UserForm.
- UserForm baru akan muncul dalam tampilan desain. Disini Anda bisa mulai menambahkan kontrol seperti Command Button atau TextBox di dalamnya.
- Jika Anda ingin mengubah tampilan, seperti ukuran atau posisi User Form, Anda bisa melakukannya pada Properties Window.
- Jika sudah selesai, klik kanan pada User Form dan pilih View Code untuk menuju ke editor VBA.
Cara Menambahkan Command Button pada User Form
Setelah membuat User Form, selanjutnya kita bisa menambahkan Command Button pada User Form tersebut. Caranya adalah sebagai berikut:
- Pada Toolbox, pilih Command Button dan tarik ke User Form.
- Setelah itu, klik pada Command Button yang sudah ditambahkan dan lihat propertinya pada Properties Window.
- Ubah caption pada Command Button menjadi yang Anda inginkan. Misalnya: “Simpan” atau “Batal”.
- Ubah juga nama pada Command Button agar lebih mudah diidentifikasi pada VBA. Misalnya: “cmdSimpan” atau “cmdBatal”.
- Jika ingin menambahkan aksi pada Command Button, klik dua kali pada Command Button tersebut untuk menuju ke editor VBA. Selanjutnya tambahkan kode VBA sesuai dengan fungsi yang diinginkan.
Contoh Kasus : Aplikasi Input Data
Sekarang, mari kita praktikan langsung cara membuat aplikasi input data menggunakan User Form dan Command Button. Aplikasi ini akan dimodifikasi dari contoh di https://www.youtube.com/watch?v=VG-JYRzXc-Q. Beberapa hal yang akan diberikan pada aplikasi ini antara lain:
- User Form untuk memasukkan data.
- Command Button “Simpan” untuk menyimpan data yang dimasukkan ke dalam lembar kerja.
- Command Button “Clear” untuk membersihkan data yang sudah dimasukkan pada User Form.
- User Form untuk menampilkan data yang sudah disimpan pada lembar kerja.
User Form untuk Memasukkan Data
Pertama-tama, buatlah User Form seperti pada gambar dibawah ini. User Form ini digunakan untuk memasukkan data. Di dalamnya terdapat tiga TextBox untuk mengisi “Nama”, “Umur”, dan “Alamat”.
Setelah membuat User Form, selanjutnya kita akan menambahkan Command Button “Simpan” dan “Clear”. Caranya adalah sebagai berikut:
- Tambahkan dua Command Button pada User Form, seperti pada gambar dibawah.
- Ubah caption Command Button “CommandButton1” menjadi “Simpan”.
- Ubah caption Command Button “CommandButton2” menjadi “Clear”.
- Ubah nama pada Command Button “Simpan” menjadi “cmdSimpan”.
- Ubah nama pada Command Button “Clear” menjadi “cmdClear”.
Setelah itu, klik dua kali pada Command Button “Simpan” untuk menuju ke editor VBA dan tambahkan kode VBA seperti di bawah ini:
“`
Private Sub cmdSimpan_Click()
Dim RowCount
RowCount = WorksheetFunction.CountA(Range(“A:A”))
Range(“A1”).Offset(RowCount, 0) = Me.txtNama.Value
Range(“B1”).Offset(RowCount, 0) = Me.txtUmur.Value
Range(“C1”).Offset(RowCount, 0) = Me.txtAlamat.Value
Unload Me
End Sub
“`
Penjelasan Kode:
Dim RowCount
membuat variabel baru bernama RowCount.RowCount
akan sama dengan jumlah sel pada kolom A yang sudah terisi.Range("A1").Offset(RowCount, 0) = Me.txtNama.Value
menyimpan nilai dari TextBox “Nama” ke dalam kolom A pada baris yang belum terisi pada lembar kerja.Range("B1").Offset(RowCount, 0) = Me.txtUmur.Value
menyimpan nilai dari TextBox “Umur” ke dalam kolom B pada baris yang belum terisi pada lembar kerja.Range("C1").Offset(RowCount, 0) = Me.txtAlamat.Value
menyimpan nilai dari TextBox “Alamat” ke dalam kolom C pada baris yang belum terisi pada lembar kerja.Unload Me
menutup User Form setelah data berhasil disimpan.
Selanjutnya, klik dua kali pada Command Button “Clear” dan tambahkan kode VBA seperti di bawah ini:
“`
Private Sub cmdClear_Click()
Me.txtNama.Value = “”
Me.txtUmur.Value = “”
Me.txtAlamat.Value = “”
End Sub
“`
Penjelasan Kode:
Me.txtNama.Value = ""
mengosongkan nilai pada TextBox “Nama”.Me.txtUmur.Value = ""
mengosongkan nilai pada TextBox “Umur”.Me.txtAlamat.Value = ""
mengosongkan nilai pada TextBox “Alamat”.
User Form untuk Menampilkan Data
Sekarang, kita akan membuat User Form untuk menampilkan data yang sudah disimpan pada lembar kerja. Buatlah User Form baru seperti pada gambar dibawah ini.
Setelah membuat User Form, tambahkan beberapa kontrol seperti List Box, TextBox, dan Command Button seperti pada gambar dibawah.
Ubah nama pada List Box menjadi “lstData”, TextBox menjadi “txtData”, dan Command Button menjadi “cmdTampilkan”. Jika sudah, klik dua kali pada Command Button “cmdTampilkan” untuk menuju ke editor VBA dan tambahkan kode VBA seperti di bawah ini:
“`
Private Sub cmdTampilkan_Click()
Dim RowCount As Long
Dim i As Long
RowCount = Cells(Rows.Count, “A”).End(xlUp).Row
With Me.lstData
.Clear
For i = 1 To RowCount
.AddItem Cells(i, 1).Value
.List(i – 1, 1) = Cells(i, 1).Value
.List(i – 1, 2) = Cells(i, 2).Value
.List(i – 1, 3) = Cells(i, 3).Value
Next i
End With
Me.txtData = “Jumlah Data : ” & RowCount
End Sub
“`
Penjelasan Kode:
Dim RowCount As Long
membuat variabel baru bernama RowCount.RowCount = Cells(Rows.Count, "A").End(xlUp).Row
menghitung jumlah baris pada lembar kerja yang sudah terisi.With Me.lstData
memasuki kontrol List Box “lstData”..Clear
mengosongkan List Box “lstData”.For i = 1 To RowCount
melakukan looping dari baris 1 hingga baris yang terakhir terisi..AddItem Cells(i, 1).Value
menambahkan item baru pada kontrol List Box “lstData”..List(i - 1, 1) = Cells(i, 1).Value
menampilkan nilai pada kolom A pada User Form..List(i - 1, 2) = Cells(i, 2).Value
menampilkan nilai pada kolom B pada User Form..List(i - 1, 3) = Cells(i, 3).Value
menampilkan nilai pada kolom C pada User Form.Next i
mengakhiri looping.Me.txtData = "Jumlah Data : " & RowCount
menampilkan jumlah data yang sudah tersimpan pada ControlTextBox “txtData”.
FAQ (Frequently Asked Questions)
1. Apa itu Excel-Macro?
Excel-Macro adalah fitur di Microsoft Excel yang memungkinkan Anda membuat kode VBA (Visual Basic for Applications) untuk mengotomatisasi tugas tertentu di Excel seperti memproses data, membuat grafik, atau membuat formulir dengan user form.
2. Bagaimana cara menggunakan VBA di Excel?
Untuk menggunakan VBA di Excel, Anda harus membuka Editor VBA terlebih dahulu dengan menekan ALT + F11. Kemudian, Anda bisa menambahkan kode VBA pada Worksheet atau modul. Setelah itu, kode VBA bisa dijalankan dengan menekan F5 atau dengan memberikan aksi (seperti klik pada Command Button) pada User Form.
Itulah cara membuat User Form dengan Command Button menggunakan VBA di Excel. Semoga artikel ini bermanfaat dan bisa membantu Anda dalam mengotomatisasi tugas di Excel. Terima kasih sudah membaca dan jangan lupa share jika artikel ini bermanfaat untuk Anda!