Skip to content Skip to sidebar Skip to footer

Cara Input Data TextBox Dengan Format Currency Pada UserForm VBA Excel

Pembahasan kali ini sudah memasuki ke Part 5 dengan topik "Cara Input Data TextBox Dengan Format Currency Pada UserForm VBA Excel". Format Currency ini digunakan dalam menginput nilai suatu mata uang baik itu rupiah maupun mata uang asing lainnya dimana pada saat menginput angka/nilai akan secara otomatis memberikan pemisah ribuan dan desimal.

Dengan menggunakan Format Currency dalam menginput data nilai mata uang, akan sangat memudahkan dalam mengetahui dan mengoreksi jumlah nilai yang telah kita ketikkan. Untuk pemisah ribuan dan desimal ini sendiri, memiliki format yang berbeda antara yang digunakan di Indonesia dengan yang digunakan Negara lain khususnya Amerika. Untuk Format Indonesia, pemisah ribuan dinyatakan dalam titik (.) dan pemisah desimal dinyatakan dalam koma (,), sementara aturan luar negeri malah sebaliknya menggunakan koma (,) sebagai pemisah ribuan dan titik (.) sebagai pemisah desimal.

Karena aplikasi sederhana berbasis VBA excel yang ingin kita buat dipakai dan  dimanfaatkan di dalam negeri sendiri, maka lebih baik format currency yang digunakan sesuaikan dengan format negara kita sendiri.

A. Mengubah Format Currency ke Format Indonesia

Pada Settingan default windows maupun office yang digunakan umumnya menggunakan format luar negeri kecuali pada saat instal windows dan office sudah kita customize sesuai pengaturan dalam negeri, dan bila belum dicustomize sebaiknya merubahnya terlebih dahulu dengan cara:

1.  Menuju ke search taksbar komputer, lalu ketikkan control panel lalu jalankan control panel tersebut.

Control Panel

2. Setelah jendela control panel tampil, pilih Clock and Region dan di lanjut memilih Region.

Pilih Region

3. Selanjutnya akan akan ditampilkan jendela Region lalu pilih Additional setting.

Pilih Additional Setting

5. Di jendela Customize Format ini, kita akan mengubah Desimal symbol yang sebelumnya titik (.) menjadi koma (,) serta mengubah Digit grouping symbol yang sebelumnya koma (,) menjadi titik (.). Perhatikan contoh atau examples, lihat apakah pemisah ribuan sudah menggunakan titik (.) dan pemisah desimal dengan koma (,). Jika sudah simpan pengaturan dengan mengklik OK. Untuk yang lain Sobat SD dapat mengubahnya, atau cukup sesuaikan dengan gambar dibawah ini.

Mengubah Format Currency

 

B. Membuat Format Currency Di TextBox UserForm

Nah sekarang kita masuk ke cara membuat format currency input data di textbox. Sobat SD buka kembali file pembelajaran Part 4 sebelumnya karena Admin tekankan kembali pembahasan ini saling berkaitan. Langsung saja kita bahas caranya yaitu:

1. Buka UserForm1 yang telah dibuat sebelumnya, trus tampilkan toolbox controls dan tambahkan sebuah object "label" dan ganti captionnya menjadi "Modal Usaha". Lalu tambahkan juga sebuah object "textbox" dan ganti (name) nya menjadi "Modal". Properties yang lain sesuaikan dengan sebelumnya seperti pembelajaran part 1 atau dapat lihat pada tautan video ini.

Buat Label dan TextBox Baru

2. Double klik atau klik kanan lalu pilih "view code" tepat di textbox "Modal" yang telah diubah namanya tadi. Akan otomatis ke jendela code VBE dan memunculkan kode makro dengan sebuah scope prosedur baru seperti gambar yang diberi label kotak dibawah ini.

Scope prosedur modal change

3. Setelah itu tambahkan/ganti dengan makro berikut:

Private Sub Modal_Change()
	Modal.Value = Format(Modal, "#,##0")
End Sub

Coba jalankan dengan klik F5 pada keyboard dan coba ketikkan dalam textbox "modal" angka 100000. Secara otomatis akan membuat format currency menjadi 1.000.000.

Pengaplikasian Format Currency

4. Sampai pada tahap ini, kode makro diatas sudah dapat digunakan, namun masih memiliki kekurangan yaitu nilai yang dimasukkan dalam textbox "modal" tersebut bukan hanya dapat mengetikkan angka tetapi juga dapat mengetikkan huruf/abjad. 

Kecualikan Hanya Angka

Untuk itu bagi Sobat SD yang ingin membatasi penginputan hanya boleh memasukkan angka saja dapat menambahkan/ganti sehingga kode makronya akhirnya seperti ini:

Private Sub Modal_Change()
On Error Resume Next
	If Not IsNumeric(Modal) Then
		Modal = Left(Modal, Len(Modal) - 1)
	End If
	Modal.Value = Format(Modal, "#,##0")
End Sub

Makro Format Currency

Penjelasan kode makro diatas sebagai berikut:

  • Private Sub Modal_Change(). Adalah sebuah scope (ruang lingkup prosedur yang merujuk ke textbox "Modal" dengan prosedur change yang berarti bahwa perintah yang akan dilakukan setelahnya akan berjalan saat textbox "Modal" di isi atau berubah. Prosedur ini selalu ditutup dengan End Sub.

  • If Not IsNumeric(Modal) Then sampai End If. Merupakan perintah untuk memberikan pengecualian bahwa textbox "Modal" hanya bisa diinput dengan karekter angka.

  • Modal.Value = Format(Modal, "#,##0"). Mengubah format angka yang diinput menjadi format currency yang memiliki pemisah angka ribuan.

  • On Error Resume Next. Perintah ini untuk mengatasi error yang terjadi pada kode makro diatas. Hal ini disebabkan karena penambahan makro point kedua yang membatasi hanya boleh measukkan angka saja. Perintah ini mengartikan untuk melanjutkan saja ketika terjadi error.


Videe tutorial dapat dilihat pada Channel Youtube Sobat SD. Selain kode makro diatas, masih banyak lagi kode makro yang berbeda bentuk dan caranya tetapi tujuannya tetap sama. Namun, sesuai tujuan blog ini yaitu untuk memudahkan bagi pemula ataupun yang belum memiliki pengetahuan dan pengalaman tentang VBA excel untuk dapat mempelajarinya secara otodidak Admin hanya memberikan satu contoh yang Admin anggap mudah untuk dipelajari dan cepat dipahami. Semoga bermanfaat, Wassalam.


Post a Comment for "Cara Input Data TextBox Dengan Format Currency Pada UserForm VBA Excel"