Terbilang Excel merubah angka menjadi huruf

Berikut adalah fungsi masing-masing kode VBA untuk fungsi Terbilang di Excel:

1. Fungsi Terbilang:

  • Tujuan: Mengubah angka numerik menjadi teks terbilang dalam bahasa Indonesia.
  • Input: MyNumber (tipe data Currency) – angka yang akan diubah menjadi terbilang.
  • Output: Terbilang (tipe data String) – representasi teks dari angka input.
  • Cara Kerja:
    • Inisialisasi Array: Mendefinisikan array Satuan, Belasan, Puluhan, Ratusan, dan Ribuan yang berisi teks untuk setiap digit dan kelompok angka (ribu, juta, miliar, dst.).
    • Menangani Angka Negatif: Jika MyNumber negatif, maka kata “Minus” ditambahkan di awal output.
    • Looping untuk Setiap Kelompok Digit: Melakukan looping untuk setiap kelompok tiga digit (ratusan, ribuan, jutaan, dst.) pada MyNumber.
      • Menggunakan Fungsi Modulus: Menggunakan fungsi Modulus untuk mendapatkan sisa bagi dari pembagian MyNumber dengan 1000.
      • Memproses Ratusan, Puluhan, dan Satuan: Menggunakan array yang telah didefinisikan untuk mengubah setiap digit menjadi teks terbilang.
      • Menggabungkan Teks Terbilang: Menggabungkan teks terbilang dari ratusan, puluhan, dan satuan, lalu menambahkan nama kelompok ribuan (ribu, juta, miliar, dst.).
    • Membersihkan Spasi: Menghapus spasi berlebih di awal dan akhir output.

2. Fungsi Modulus:

  • Tujuan: Menghitung sisa bagi dari pembagian dua angka.
  • Input:
    • Angka1 (tipe data Currency) – angka yang akan dibagi.
    • Angka2 (tipe data Currency) – pembagi.
  • Output: Modulus (tipe data Currency) – sisa bagi dari pembagian Angka1 dengan Angka2.
  • Cara Kerja:
    • Menghitung Hasil Bagi: Menghitung hasil bagi bulat dari Angka1 dibagi Angka2 menggunakan fungsi Int().
    • Menghitung Sisa Bagi: Mengurangi Angka1 dengan hasil kali antara hasil bagi bulat dan Angka2.

Tambahan:

  • Tipe Data Currency: Digunakan untuk menangani angka besar dengan presisi yang lebih baik dan menghindari error Data type mismatch.
  • Array: Memudahkan penyimpanan dan penggunaan teks terbilang untuk setiap digit dan kelompok angka.
  • Looping: Memungkinkan kode untuk memproses angka dengan jumlah digit yang bervariasi.

berikut vba lengkap nya, semoga bermanfaat

referensi https://vba.co.id/udf-terbilang-milyar-triliun/

———————————————————————————————–

Function Terbilang(ByVal MyNumber As Currency) As String
Dim Temp As String
Dim Satuan As Variant, Belasan As Variant, Puluhan As Variant
Dim Ratusan As Variant, Ribuan As Variant
Dim i As Long, Angka As Currency

‘ Inisialisasi array
Satuan = Array(“”, “Satu”, “Dua”, “Tiga”, “Empat”, “Lima”, “Enam”, “Tujuh”, “Delapan”, “Sembilan”)
Belasan = Array(“Sepuluh”, “Sebelas”, “Dua Belas”, “Tiga Belas”, “Empat Belas”, “Lima Belas”, “Enam Belas”, “Tujuh Belas”, “Delapan Belas”, “Sembilan Belas”)
Puluhan = Array(“”, “”, “Dua Puluh”, “Tiga Puluh”, “Empat Puluh”, “Lima Puluh”, “Enam Puluh”, “Tujuh Puluh”, “Delapan Puluh”, “Sembilan Puluh”)
Ratusan = Array(“”, “Seratus”, “Dua Ratus”, “Tiga Ratus”, “Empat Ratus”, “Lima Ratus”, “Enam Ratus”, “Tujuh Ratus”, “Delapan Ratus”, “Sembilan Ratus”)
Ribuan = Array(“”, “Ribu”, “Juta”, “Miliar”, “Triliun”, “Kuadriliun”)

‘ Jika angka negatif, tambahkan “Minus”
If MyNumber < 0 Then
Terbilang = “Minus ”
MyNumber = -MyNumber
End If

‘ Looping untuk setiap kelompok tiga digit
i = 0
Do While MyNumber > 0
Temp = “”
Angka = Modulus(MyNumber, 1000) ‘ Menggunakan fungsi Modulus

‘ Ratusan
If Angka > 99 Then
Temp = Ratusan(Int(Angka / 100)) & ” ”
Angka = Modulus(Angka, 100) ‘ Menggunakan fungsi Modulus
End If

‘ Puluhan dan Belasan
If Angka > 19 Then
Temp = Temp & Puluhan(Int(Angka / 10)) & ” ”
Angka = Modulus(Angka, 10) ‘ Menggunakan fungsi Modulus
ElseIf Angka > 9 Then
Temp = Temp & Belasan(Angka – 10) & ” ”
Angka = 0
End If

‘ Satuan
If Angka > 0 Then
Temp = Temp & Satuan(Angka) & ” ”
End If

‘ Tambahkan nama kelompok ribuan
If Temp <> “” Then
Terbilang = Temp & Ribuan(i) & ” ” & Terbilang ‘ Menambahkan spasi setelah Ribuan(i)
End If

MyNumber = Int(MyNumber / 1000)
i = i + 1
Loop

‘ Hilangkan spasi di awal dan akhir
Terbilang = Trim(Terbilang)
End Function

‘ Fungsi Modulus
Function Modulus(Angka1 As Currency, Angka2 As Currency) As Currency
Dim MyMod As Currency

MyMod = Int(Angka1 / Angka2)
Modulus = Angka1 – (MyMod * Angka2)
End Function


download file nya disini

terbilang-belajardashboard-excel

Author: info

Leave a Reply