UserForm adalah elemen dari Graphical User Interface (GUI) atau antarmuka di VBA (Visual Basic for Applications).
UserForm merupakan jendela pop-up yang bisa dibuat dan sesuaikan dengan elemen-elemen kontrol (seperti Textbox, Label dan lain-lain) untuk membuat tampilan interaktif untuk aplikasi yang akan dibuat.
Dengan menggunakan UserForm, kamu bisa membuat formulir khusus yang memungkinkan pengguna memasukkan data, melakukan pilihan, atau mengakses fitur-fitur tertentu dari aplikasi.
UserForm biasanya digunakan untuk berbagai tujuan, seperti pengaturan preferensi, entri data, menampilkan hasil, atau melakukan tindakan tertentu berdasarkan interaksi pengguna.
Untuk membuat Userform pada VBA caranya cukup mudah, tinggal tambahkan melalui menu Insert – Userform
Selain melalui menu, untuk membuat userform juga bisa dilakukan melalui klik kanan pada file Project yang saat ini sedang dibuka, atau pada project file yang ingin ditambahkan Userform.
Setelah berhasil membuat sebuah userform, selanjutnya tentu kalian ingin menampilkan userform tersebut bukan?.
Didalam Visual Basic for Applications (VBA), untuk menampilkan userform bisa menggunakan perintah .Show
tetapi sebelum dilajut, ada dua mode untuk menampilkan UserForm dengan menggunakan show, yaitu dengan mode modal dan mode modeless.
Mode modal dan modeless ini masing masing bisa diatur menggunakan script atau bisa juga diatur menggunakan properti di Properties Windows.
Ketika UserForm ditampilkan dalam mode modal, pengguna tidak dapat berinteraksi dengan aplikasi atau dokumen lain sampai UserForm ditutup.
Artinya ketika UserForm terbuka kita tidak bisa berinteraksi dengan file excel lain yang sedang terbuka atau bahkan file excel yang saat ini sedang digunakan.
Mode modal berguna ketika aplikasi memerlukan atau memaksa input atau mengisi informasi dari pengguna sebelum melanjutkan eksekusi kode.
Untuk menampilkan UserForm dalam mode modal, gunakan metode Show:
UserForm1.Show
atau bisa juga dengan menambahkan parameter
UserForm1.Show vbModal
Dengan mode modal userform yang ditampilkan melalui userform lainnya, misalnya Userform2 ditampilkan melalui Userform1, maka Userformnya akan berbentuk tumpukan (stack) artinya Userform1 akan berada dibawah posisi Userform2.
Sehingga Userform1 tidak bisa ditutup atau diisi sebelum Userform2 ditutup.
Dengan userform modal, kita juga tidak akan bisa berinteraksi dengan file excel lain yang sedang terbuka
vba.co.id
Ketika UserForm ditampilkan dalam mode modeless, pengguna masih dapat berinteraksi dengan aplikasi atau dokumen lain sambil UserForm ditampilkan.
Mode modeless berguna ketika aplikasi hanya memerlukan input tambahan dari pengguna dan masih memungkinkan pengguna untuk melihat dan bekerja dengan dokumen lainnya.
Untuk menampilkan UserForm dalam mode modeless, gunakan metode Show:
UserForm1.Show vbModeless
Dengan mode modaless userform yang ditampilkan melalui userform lainnya, misalnya Userform2 ditampilkan melalui Userform1, maka masing masing userform memiliki tingkat yang sama.
Sehingga kedua userform bisa diisi secara bersamaan atau salah satunya ditutup tanpa mengikuti aturan userform mana yang ditampilkan lebih dulu.
Selain melalui script, modal dan modeless ini bisa diatur melalui Properties Windows. Pada script menampilkan userform tetap menggunakan UserForm1.Show
tetapi pada propertiesnya diatur agar menampilkan modal atau modeless
Pada Properties ini, TRUE artinya Userform dalam Modal, Sedangkan FALSE artinya Modeless.