Visual Basic adalah bahasa yang sangat baik untuk mengotomatisasi tugas yang berulang di Excel. Bayangkan meningkatkan otomatisasi Anda dengan membuat formulir pengguna yang sangat fungsional yang juga terlihat rapi bagi pengguna akhir.

Formulir pengguna di VBA memberi Anda kanvas kosong; Anda dapat merancang dan mengatur formulir agar sesuai dengan kebutuhan Anda pada waktu tertentu.

Dalam panduan ini, Anda akan belajar membuat formulir entri data berbasis siswa yang menangkap informasi yang relevan dalam lembar Excel yang ditautkan.

Membuat Formulir Pengguna Dengan Excel VBA

Buka buku kerja Excel baru dan lakukan beberapa langkah awal sebelum Anda mulai membuat formulir entri data.

Simpan buku kerja Anda dengan nama yang diinginkan; jangan lupa ubah jenis file menjadi Buku Kerja Excel Macro-Enabled.

Terkait:Situs Web dan Blog untuk Mempelajari Tip dan Trik Excel

Tambahkan dua lembar ke buku kerja ini, dengan nama berikut:

  1. Lembar1: Rumah
  2. Lembar2:Database Siswa

Jangan ragu untuk mengubah nama-nama ini sesuai kebutuhan Anda.

instagram viewer

Dalam Rumah sheet, tambahkan tombol untuk mengontrol makro formulir pengguna. Pergi ke Pengembang tab dan klik pada Tombol pilihan dari Memasukkan daftar drop-down. Tempatkan tombol di mana saja pada lembar.

Setelah Anda menempatkan tombol, ganti namanya. Klik kanan padanya, dan klik Baru untuk menetapkan makro baru untuk memperlihatkan formulir.

Masukkan kode berikut di jendela editor:

Sub Tombol1_Klik()
Formulir Pengguna. Menunjukkan
Akhir Sub

sekali Rumah dan Database Siswa lembar sudah siap, saatnya mendesain formulir pengguna. Navigasikan ke Pengembang tab, dan klik Dasar visual untuk membuka Editor. Atau, Anda dapat menekan ALT+F11 untuk membuka jendela editor.

Klik pada Memasukkan tab dan pilih Formulir Pengguna.

Formulir pengguna kosong siap digunakan; kotak peralatan yang menyertainya terbuka bersama dengan formulir, yang memiliki semua alat penting untuk mendesain tata letak.

Dari kotak alat, pilih Bingkai pilihan. Seret ini ke formulir pengguna dan ubah ukurannya.

Dalam (nama) pilihan, Anda dapat mengubah nama bingkai. Untuk menampilkan nama di front-end, Anda dapat mengubah nama di Keterangan kolom.

Selanjutnya, pilih Label pilihan dari kotak alat dan masukkan dua label dalam bingkai ini. Ganti nama yang pertama sebagai Nomor aplikasi dan yang kedua sebagai Identitas Siswa.

Logika penggantian nama yang sama berlaku; ganti nama lewat Keterangan pilihan dalam Properti jendela. Pastikan Anda memilih label masing-masing sebelum mengubah namanya.

Selanjutnya, masukkan dua kotak teks di sebelah kotak label. Ini akan digunakan untuk menangkap input pengguna. Ubah nama dua kotak teks melalui (Nama) kolom di dalam Properti jendela. Nama-nama tersebut adalah sebagai berikut:

  • kotak teks1: txtTidakAplikasi
  • kotak teks2: txtStudentID

Mendesain Bingkai Detail Siswa

Masukkan bingkai vertikal dan tambahkan 10 label dan 10 kotak teks. Ganti nama masing-masing dengan cara berikut:

  • Label3: Nama
  • Label4: Usia
  • Label5: Alamat
  • Label6: Telepon
  • Label7: Kota
  • Label8: Negara
  • Label9: Tanggal lahir
  • Label 10: Kode Pos
  • Label11: Kebangsaan
  • Label12: Jenis kelamin

Sisipkan kotak teks yang sesuai di sebelah label ini; masukkan dua (atau lebih) tombol pilihan kotak dari kotak alat formulir pengguna di sebelah jenis kelamin label. Ganti nama mereka Pria dan Perempuan (bersama dengan Custom), masing-masing.

Merancang Bingkai Detail Kursus

Tambahkan bingkai vertikal lain dan masukkan enam label dan enam kotak teks yang sesuai dengan setiap label. Ganti nama label sebagai berikut:

  • Label13: Nama kursus
  • Label14: ID Kursus
  • Label15: Tanggal Mulai Pendaftaran
  • Label16: Tanggal Akhir Pendaftaran
  • Label17: Durasi kursus
  • Label18: Departemen

Terkait: 4 Kesalahan yang Harus Dihindari Saat Memprogram Makro Excel Dengan VBA

Mendesain Bingkai Detail Pembayaran

Masukkan bingkai baru; tambahkan label baru dan ganti namanya menjadi "Apakah Anda ingin memperbarui detail Pembayaran?" Sisipkan dua tombol pilihan; ganti nama mereka Ya dan Tidak.

Demikian pula, tambahkan bingkai baru yang berisi dua label tambahan dan dua kotak kombo. Ganti nama label sebagai berikut:

  • Label19: Pembayaran diterima
  • Label20: Cara Pembayaran

Mendesain Panel Navigasi

Di bingkai terakhir, tambahkan tiga tombol dari kotak alat, yang akan berisi kode untuk eksekusi formulir.

Ganti nama tombol dengan cara berikut:

  • Tombol1: Simpan Detail
  • Tombol2: Hapus Formulir
  • Tombol3: keluar

Menulis Kode Formulir Otomatis: Tombol Simpan Detail

Klik dua kali pada Simpan Detail tombol. Pada modul berikutnya, masukkan kode berikut:

Sub CommandButton2_Click Pribadi ()

'deklarasikan variabel yang digunakan di seluruh kode
Dim sht As Worksheet, sht1 As Worksheet, lastrow As Long

'Tambahkan validasi untuk memeriksa apakah nilai karakter dimasukkan dalam bidang numerik.
Jika VBA.IsNumeric (txtApplicationNo. Value) = Salah Kemudian
MsgBox "Hanya nilai numerik yang diterima dalam Nomor Aplikasi", vbCritical
Keluar Sub
Berakhir jika

Jika VBA.IsNumeric (txtStudentID.Value) = Salah Maka
MsgBox "Hanya nilai numerik yang diterima di ID Siswa", vbCritical
Keluar Sub
Berakhir jika

Jika VBA.IsNumeric (txtAge. Nilai) = Salah Maka
MsgBox "Hanya nilai numerik yang diterima di Age", vbCritical
Keluar Sub
Berakhir jika

Jika VBA.IsNumeric (txtPhone. Nilai) = Salah Maka
MsgBox "Hanya nilai numerik yang diterima di Nomor Telepon", vbCritical
Keluar Sub
Berakhir jika

Jika VBA.IsNumeric (Me.txtCourseID.Value) = Salah Maka
MsgBox "Hanya nilai numerik yang diterima di ID Kursus", vbCritical
Keluar Sub
Berakhir jika

'tautkan bidang kotak teks dengan lembar yang mendasarinya untuk membuat basis data bergulir
Setel sht = Buku Kerja Ini. Sheets("Database Siswa")

'hitung baris terakhir yang terisi di kedua lembar

baris terakhir = st. Rentang("a" & Baris. Hitung).End (xlUp).Baris + 1

'tempelkan nilai setiap kotak teks ke dalam sel lembar masing-masing

Dengan sht
.Range("a" & lastrow).Nilai = txtApplicationNo. Nilai
.Rentang("b" & baris terakhir).Nilai = txtStudentID.Nilai
.Range("c" & lastrow).Nilai = txtName. Nilai
.Rentang("d" & baris terakhir).Nilai = txtUsia. Nilai
.Rentang("e" & baris terakhir).Nilai = txtDOB.Nilai
.Range("g" & lastrow).Nilai = txtAddress. Nilai
.Rentang("h" & baris terakhir).Nilai = txtTelepon. Nilai
.Range("i" & lastrow).Nilai = txtCity. Nilai
.Rentang("j" & baris terakhir).Nilai = txtNegara. Nilai
.Rentang("k" & baris terakhir).Nilai = txtZip. Nilai
.Range("l" & lastrow).Nilai = txtKebangsaan. Nilai
.Rentang("m" & baris terakhir).Nilai = txtCourse. Nilai
.Rentang("n" & baris terakhir).Nilai = txtCourseID.Nilai
.Range("o" & lastrow).Nilai = txtenrollmentstart. Nilai
.Rentang("p" & baris terakhir).Nilai = txtenrollmentend. Nilai
.Rentang("q" & baris terakhir).Nilai = durasi kursus txt. Nilai
.Range("r" & lastrow).Nilai = txtDept. Nilai

Berakhir dengan
sst. Mengaktifkan

'tentukan jenis kelamin sesuai input pengguna
Jika optMale. Nilai = Benar Kemudian sht. Rentang("g" & baris terakhir).Nilai = "Pria"
Jika memilihPerempuan. Nilai = Benar Kemudian sht. Rentang("g" & baris terakhir).Nilai = "Wanita"
'Tampilkan kotak pesan, jika pengguna memilih tombol radio Ya

Jika memilih Ya. Nilai = Benar Maka
MsgBox "Silahkan pilih detail pembayaran di bawah ini"
Lain:
Keluar Sub

Berakhir jika

Akhir Sub

Jika Anda tidak yakin apa arti bagian atau kode apa pun, jangan khawatir. Kami akan menjelaskannya secara menyeluruh di bagian selanjutnya.

Kode Formulir Otomatis Dijelaskan

Kotak teks akan berisi campuran teks dan nilai numerik, jadi sangat penting untuk membatasi input pengguna. Itu Nomor aplikasi, Identitas Siswa, Usia, Telepon, ID Kursus, dan Durasi Kursus harus hanya berisi angka, sedangkan sisanya akan berisi teks.

Menggunakan sebuah JIKA pernyataan, kode memicu pop-up kesalahan jika pengguna memasukkan karakter atau nilai teks di salah satu bidang numerik.

Karena validasi kesalahan sudah ada, Anda perlu menautkan kotak teks dengan sel lembar.

Itu baris terakhir variabel akan menghitung baris terakhir yang diisi, dan menyimpan nilai di dalamnya untuk penggunaan dinamis.

Terakhir, nilai ditempelkan dari kotak teks ke lembar Excel yang ditautkan.

Hapus Formulir dan Kode Tombol Keluar

Dalam jernih tombol, Anda perlu menulis kode untuk menghapus nilai yang ada dari formulir pengguna. Ini dapat dilakukan dengan cara berikut:

Dengan saya
.txtApplicationNo. Nilai = ""
.txtStudentID.Value = ""
..txtNama. Nilai = ""
.txtUsia. Nilai = ""
.txtAlamat. Nilai = ""
.txtTelepon. Nilai = ""
.txtKota. Nilai = ""
.txtNegara. Nilai = ""
.txtDOB.Nilai = ""
.txtZip. Nilai = ""
.txtKebangsaan. Nilai = ""
.txtKursus. Nilai = ""
.txtCourseID.Value = ""
.txtpendaftaranmulai. Nilai = ""
.txtpendaftaranend. Nilai = ""
.txtkursus. Nilai = ""
.txtDep. Nilai = ""
.cmbMode Pembayaran. Nilai = ""
.cmbPembayaran. Nilai = ""
.optPerempuan. Nilai = Salah
.optPria. Nilai = Salah
.optYa. Nilai = Salah
.optNo. Nilai = Salah

Berakhir dengan

Dalam keluar tombol, masukkan kode berikut untuk menutup formulir pengguna.

Sub CommandButton5_Click Pribadi ()
Bongkar Aku
Akhir Sub

Sebagai langkah terakhir, Anda perlu memasukkan beberapa potongan kode terakhir untuk membuat nilai drop-down untuk kotak kombo (dalam kerangka pembayaran).

Sub Pribadi UserForm_Activate()

Dengan pembayaran cmb
.Jernih
.Tambahkan Barang ""
.AddItem "Ya"
.AddItem "Tidak"
Berakhir dengan
Dengan cmbPaymentMode

.Jernih
.Tambahkan Barang ""
.AddItem "Uang Tunai"
.AddItem "Kartu"
.AddItem "Periksa"
Berakhir dengan
Akhir Sub

Otomatisasi VBA Membuat Pekerjaan Lebih Mudah

VBA adalah bahasa multi-faceted yang melayani banyak tujuan. Formulir pengguna hanya satu aspek dalam VBA—ada banyak kegunaan lain seperti menggabungkan buku kerja dan lembar kerja, menggabungkan beberapa lembar Excel, dan penggunaan otomatisasi praktis lainnya.

Apa pun tujuan otomatisasinya, VBA memenuhi tugasnya. Jika Anda terus belajar dan berlatih, tidak ada aspek alur kerja Anda yang tidak dapat Anda tingkatkan.

Cara Menggabungkan Beberapa Lembar Excel Menggunakan Makro VBA

Menggabungkan data dari lebih dari satu lembar Excel dalam buku kerja yang sama benar-benar merepotkan... sampai Anda menggunakan makro VBA.

Baca Selanjutnya

MembagikanMenciakSurel
Topik-topik terkait
  • Pemrograman
  • Produktifitas
  • Pemrograman Visual Basic
  • Microsoft Excel
Tentang Penulis
Gaurav Siyal (50 Artikel Diterbitkan)

Gaurav Siyal memiliki dua tahun pengalaman menulis, menulis untuk serangkaian perusahaan pemasaran digital dan dokumen siklus hidup perangkat lunak.

More From Gaurav Siyal

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan