Function Terbilang(ByVal angka As Double) As String
Dim satuan As Variant
Dim result As String
Dim bilangan As String
satuan = Array("", "Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh", "Delapan", "Sembilan", "Sepuluh", "Sebelas")
Select Case angka
Case 0 To 11
Terbilang = satuan(angka)
Case 12 To 19
Terbilang = satuan(angka Mod 10) & " Belas"
Case 20 To 99
Terbilang = satuan(angka \ 10) & " Puluh" & IIf(angka Mod 10 <> 0, " " & satuan(angka Mod 10), "")
Case 100 To 199
Terbilang = "Seratus" & IIf(angka Mod 100 <> 0, " " & Terbilang(angka Mod 100), "")
Case 200 To 999
Terbilang = satuan(angka \ 100) & " Ratus" & IIf(angka Mod 100 <> 0, " " & Terbilang(angka Mod 100), "")
Case 1000 To 1999
Terbilang = "Seribu" & IIf(angka Mod 1000 <> 0, " " & Terbilang(angka Mod 1000), "")
Case 2000 To 999999
Terbilang = Terbilang(angka \ 1000) & " Ribu" & IIf(angka Mod 1000 <> 0, " " & Terbilang(angka Mod 1000), "")
Case 1000000 To 999999999
Terbilang = Terbilang(angka \ 1000000) & " Juta" & IIf(angka Mod 1000000 <> 0, " " & Terbilang(angka Mod 1000000), "")
Case Else
Terbilang = "Angka terlalu besar"
End Select
End Function