Contoh UDF Fungsi Terbilang

Table of Contents
Contoh UDF Fungsi Terbilang

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

  1. Tekan Alt + F11 untuk membuka VBA Editor
  2. Pilih menu InsertModule
  3. Salin kode di bawah ini ke dalam module
  4. Tutup jendela VBA dan kembali ke Excel
  5. 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
Download

File Size: 21,0 KB

Excel Workbook (*.xlsx)

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...