Membuat Excel UserForm melalui Visual Basic Editor VBA

Last updated on March 19th, 2021 at 06:27 am

Halaman ini adalah kelanjutan dari halaman sebelumnya, “Membuat kode macro untuk form input di Excel (part-4)”. Perbedaan antara form yang di topik sebelumnya (part-3) dengan form di topik ini adalah : form di part-3 dibuat pada halaman Excel, sedangkan sekarang, form dibuat pada “canvas” khusus untuk form. Jadi sekarang pak Adi akan membuat Excel UserForm melalui Visual Basic editor (VBA).

Adapun kegunaan UserForm pada kasus pak Adi ini adalah untuk meng-input invoice invoice (nota nota jual/beli) mana saja yang dibayarkan, baik oleh Piutang Dagang maupun oleh pak Adi sendiri.

Workflow nya disini sedikit berbelit belit, karena berdasarkan pengalaman pak Adi sendiri, beda customer beda kriteria cara mereka melakukan pembayaran-nya. Adapun model model pembayaran para customer-nya adalah sbb:

  • Tidak memperdulikan nomor nota (nomor invoice).
    Pokok dibayar sekian, maka saldo hutang-nya tinggal sekian.
  • Memperdulikan nomor nota dan hutang di bulan tertentu.
    Contoh : “pak Adi, ini saya bayar nota nota bla, ble, blu bulan X ya”
  • Memperdulikan nomor nota tapi tidak perduli hutang di bulan apa.
    Contoh : “pak Adi, ini saya bayar nota yang minggu lalu ya, jadi nota nota hutang saya yang kemarin dan yang tiga bulan yang lalu belon saya bayarkan”.
  • Mirip seperti dengan yang diatas.
    Contoh : “pak Adi, ini saya bayar nota nota bulan X sebagian dulu ya”

Akibatnya ya pembuatan UserForm-nya sedikit berbelit belit agar UserForm bisa siap “bekerja” dalam menghadapi kriteria customer yang berbeda beda tsb dalam membayar hutang-nya.

Mempersiapkan halaman halaman yang akan diperlukan untuk operasi UserForm

Mirip dengan yang di halaman part-3, hal pertama yang pak Adi lakukan adalah membuat halaman baru dan menamai-nya “BAYAR”. Selanjutnya mempersiapkan halaman “TABEL” agar ter-integrasi dengan UserForm-nya sewaktu di operasikan.

  1. Mengetik rumus =today() pada cell C4 dan menamai beberapa cell seperti yang terlihat pada gambar-1 dibawah ini.
persiapan halaman untuk userform excel
gambar-1

2. Membuat dua buah Pivot Table di halaman TABEL. Cara membuat Pivot Table ini sama seperti di part-2, yakni dengan mengkopi Pivot Table yang sudah ada, lalu paste di halaman yang memerlukan-nya. Selanjutnya mengatur kolom kolom yang diperlukan di Pivot Table, dan tidak lupa untuk menamai Pivot Table terkait.

Pivot table yang pertama pak Adi taruh di halaman “TABEL” cell H1.
Lalu dia menamakan Pivot Table ini : ptPDHDnonLunas

Masih di halaman “TABEL”, Pivot Table yang kedua pak Adi taruh di cell L1.
Lalu dia menamakan Pivot Table ini : ptBayar

Membuat Excel UserForm melalui Visual Basic Editor

Pada tab menu “Developer” bagian “Code”, klik “Visual Basic”. Seperti yang terlihat pada gambar-3 dibawah ini.

letak-visual-basic-editor-pada-menu-excel
gambar-3

Muncul window baru seperti pada gambar-4 dibawah ini.

tampilan-editor-pada-visual-basic-application
gambar-4

Pada gambar-4 diatas, terlihat didalam window Microsoft Visual Basic for Applications (VBA) tsb, terdapat dua window di bagian kiri atas dan bawah, yakni window Project – VBAProject dan window Properties.

Klik kanan pada mouse (kanan ya, bukan kiri) di area window Project – VBAProject, pilih “Insert” lalu klik “UserForm”. Seperti yang terlihat pada gambar-5 dibawah ini.

cara membuat excel userform melalui visual basic editor
gambar-5

Muncul dua buah window baru, window “Toolbox” dan window UserForm berjudul “UserForm1”. Seperti yang terlihat pada gambar-6 dibawah ini.

blank excel userform di visual basic editor.
gambar-6

Pada window “Properties”, ganti nama-nya dari UserForm1 menjadi frmBayar. Ganti juga judul-nya (Caption) dari UserForm1 menjadi FORM BAYAR. Seperti yang terlihat pada gambar-7 dibawah ini.

Karena ada beberapa UserForm control yang diperlukan, pak Adi memperbesar “canvas” FORM BAYAR agar mudah meletakkan control control yang diperlukan. Cara memperbesar “canvas”-nya adalah dengan mengklik(kiri) kotak kecil di sudut kanan bawah UserForm, sambil terus menekan klik pada mouse, seret kebawah kotak kecil tsb sampai mencapai besar yang di-ingin-kan. Seperti yang terlihat pada animasi gambar-8 dibawah ini.

gambar-8

Pak Adi akan menempatkan control control yang terdapat di window “Toolbox”. Ada lima jenis control yang diperlukan, yakni seperti yang terlihat pada gambar-9 dibawah ini.

gambar-9

Selanjutnya cara menempatkan control controlnya di canvas UserForm, sama seperti di part-4, klik(kiri) kontrol yang di inginkan – lalu klik(kiri) di canvas-nya. Seperti yang terlihat pada animasi gambar-10 dibawah ini.

gambar-10

pak Adi membuat control control-nya sebanyak sbb:

CONTROL JUMLAH
Label 1
TextBox 1
ListBox 3
Frame 2
CommandButton 7
gambar-11

Apabila kita klik salah satu control-nya, maka property-nya terlihat di window “Properties”, seperti yang terlihat di animasi gambar-12 dibawah ini.

gambar-12

Selanjutnya pak Adi mengganti nama dan judul (caption) yang secara default sudah ada pada masing-masing controlnya di window “Properties” dengan cara seperti pada gambar-7. Nama dan judul/caption-nya sebagai berikut :

Control (Name) Caption
Label1 lblSum SUM
TextBox1 CARI  
ListBox1 ListNama  
ListBox2 ListBlnThn  
ListBox3 ListNota  
Frame1 Frame1 Pilih Nama PD/HD
Frame2 Frame2 Pindahkan Nota
CommandButton1 PD PD
CommandButton2 HD HD
CommandButton3 RESET RESET
CommandButton4 PndahNotaSemua Semua Nota
CommandButton5 PindahNotaPilih Nota Dipilih
CommandButton6 PindahNotaAbai Ketik Nilai Bayar
CommandButton7 InputKeData Input Ke Data

Dan terakhir, dia mengatur ukuran dan posisi masing masing control sehingga hasilnya seperti yang dia inginkan, seperti pada gambar-13 dibawah ini

tampilan FORM BAYAR setelah membuat Excel UserForm melalui Visual Basic Editor
gambar-13
CONTROL FUNGSI
PD Untuk transaksi pembayaran dari customer
HD Untuk transaksi pembayaran ke supplier
RESET Membersihkan halaman BAYAR
CARI Tempat mengetik nama yang di cari
ListNama Menampilkan daftar nama PD/HD
Ketik Nilai Bayar Untuk pembayaran mengabaikan nomor nota
Input Ke Data Menyimpan ke data utama
SUM Menampilkan total nilai
ListBlnThn Menampilkan bulan dan tahun nota terkait
ListNota Menampilkan nomor nota dan nilai-nya
Semua Nota Untuk pembayaran yang komplit
Nota Dipilih Untuk pembayaran nomor nota yang loncat loncat

Selesai sudah pak Adi membuat Excel UserForm melalui Visual Basic Editor. Di halaman berikut-nya pak Adi akan membuat kode-kode yang diperlukan untuk masing masing control di UserForm nya.

Apabila ada pembaca yang tidak jelas ataupun ada yang ingin ditanyakan terkait topik ini, silahkan tulis di kolom Comment. Saya akan berusaha untuk bisa menjawabnya.

43 replies on “Membuat Excel UserForm melalui Visual Basic Editor VBA”

Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me?

Leave a Reply

Your email address will not be published. Required fields are marked *