Contoh UDF Fungsi Terbilang
Table of Contents

Fungsi Terbilang digunakan untuk mengubah angka menjadi teks terbilang, fungsi ini biasa digunakan dalam dunia akuntansi misalnya saja untuk membuat kwitansi dan sebagainya.
Pada aplikasi Excel Fungsi Terbilang ini tidak tersedia, tapi dengan memanfaatkan fitur VBA Excel, Anda bisa membuat Fungsi TERBILANG sendiri
📘 Langkah-langkah membuat fungsi UDF Terbilang di Excel
- Tekan Alt + F11 untuk membuka VBA Editor
- Pilih menu Insert → Module
- Salin kode di bawah ini ke dalam module
- Tutup jendela VBA dan kembali ke Excel
- Gunakan rumus =Terbilang(A1)
💡 Kode VBA: Fungsi Terbilang Rupiah
Option Explicit
Function Terbilang(ByVal Angka As Variant) As String
Dim Satuan() As String, Belasan() As String, Ribuan() As String
Dim Kelompok() As String
Dim Panjang As Long, sHasil As String
Dim i As Long, Posisi As Long, Blok As String
Dim Nilai As Integer, Ratusan As Integer, Puluh As Integer, Satu As Integer
Dim Temp As String
' Cek validitas
If Not IsNumeric(Angka) Then
Terbilang = "Input tidak valid (Maks. Rp 922.337.203.685.477)"
Exit Function
End If
' Batas 15 digit
If Len(Angka) > 15 Then
Terbilang = "Melebihi batas maksimal 15 digit (999.999.999.999.999)"
Exit Function
End If
' Konversi ke string untuk dukung angka sangat besar
Dim AngkaStr As String
AngkaStr = Trim(CStr(Fix(Val(Angka)))) ' ambil bagian integer saja
If AngkaStr = "0" Then
Terbilang = "Nol Rupiah"
Exit Function
End If
' Inisialisasi kata dasar
Satuan = Split("Nol Satu Dua Tiga Empat Lima Enam Tujuh Delapan Sembilan", " ")
Belasan = Split("Sepuluh Sebelas Dua Belas Tiga Belas Empat Belas Lima Belas Enam Belas Tujuh Belas Delapan Belas Sembilan Belas", " ")
Ribuan = Split(" Ribu Juta Miliar Triliun Kuadriliun Kuantiliun Sekstiliun Septiliun Oktiliun Noniliun Desiliun", " ")
' Potong angka jadi blok 3 digit dari kanan
Panjang = Len(AngkaStr)
ReDim Kelompok(Int((Panjang + 2) / 3))
Posisi = 0
Do While Len(AngkaStr) > 0
Dim Bagian As String
If Len(AngkaStr) > 3 Then
Bagian = Right(AngkaStr, 3)
AngkaStr = Left(AngkaStr, Len(AngkaStr) - 3)
Else
Bagian = AngkaStr
AngkaStr = ""
End If
Kelompok(Posisi) = Format(Val(Bagian), "000")
Posisi = Posisi + 1
Loop
' Bangun kalimat dari blok terbesar ke terkecil
For i = Posisi - 1 To 0 Step -1
Nilai = Val(Kelompok(i))
If Nilai > 0 Then
Ratusan = Int(Nilai / 100)
Puluh = Int((Nilai Mod 100) / 10)
Satu = Nilai Mod 10
Temp = ""
' Ratusan
If Ratusan > 0 Then
If Ratusan = 1 Then
Temp = "Seratus "
Else
Temp = Satuan(Ratusan) & " Ratus "
End If
End If
' Puluhan dan satuan
If Puluh > 0 Then
If Puluh = 1 Then
Temp = Temp & Belasan(Satu) & " "
Else
Temp = Temp & Satuan(Puluh) & " Puluh "
If Satu > 0 Then Temp = Temp & Satuan(Satu) & " "
End If
ElseIf Satu > 0 Then
Temp = Temp & Satuan(Satu) & " "
End If
' Tambahkan satuan ribuan, juta, miliar, dst
Temp = Trim(Temp)
If i > 0 Then Temp = Temp & " " & Trim(Ribuan(i)) & " "
sHasil = sHasil & Temp
End If
Next i
' Ganti "Satu Ribu" jadi "Seribu"
sHasil = Application.WorksheetFunction.Trim(sHasil)
sHasil = Replace(sHasil, "Satu Ribu", "Seribu")
' Hasil akhir
Terbilang = Application.WorksheetFunction.Proper(sHasil) & " Rupiah"
End Function
Silahkan download contoh File UDF Fungsi TERBILANG dalam format Excel Binary Workbook (*.xlsb) berikut ini:
Referensi | : | Kumpulan Kasus dan Latihan Excel |
Author | : | Masdad Al-Falucky |
Min.Version | : | Microsoft Excel 2007 |
Jika Link Download Contoh Fungsi Excel Terbilang (UDF).xlsb diatas rusak atau tidak berfungsi, Silahkan hubungi Admin melalui Facebook Rumus Excel, atau kirim email ke info [at] rumusexcel.com.
Salam Exceler...