Bapak Maulana.. ini Modulnya
Function say3Digit(numStr As String) As String
Dim i As Integer, j As Integer
Dim Unit As String
Dim TMP As String
Dim lenOfNum As Integer
lenOfNum = Len(numStr)
If Left$(numStr, 1) <> "0" And lenOfNum > 2 Then
If Left$(numStr, 1) = "1" Then
say3Digit = "Seratus "
Else
say3Digit = sayDigit(Left$(numStr, 1)) & "Ratus "
End If
End If
If Right$(numStr, 2) = "11" Then
say3Digit = say3Digit & "Sebelas "
Exit Function
End If
If (Left$(Right$(numStr, 2), 1) <> "0" And Left$(Right$(numStr, 2), 1) <>
"1") And lenOfNum > 1 Then
say3Digit = say3Digit & sayDigit(Left$(Right$(numStr, 2), 1)) & "Puluh "
End If
If Right$(numStr, 1) <> "0" Then
say3Digit = say3Digit & sayDigit(Right$(numStr, 1))
If Left$(Right$(numStr, 2), 1) = "1" And lenOfNum > 1 Then
say3Digit = say3Digit & "Belas "
End If
End If
If Right$(numStr, 2) = "10" Then
say3Digit = say3Digit & "Sepuluh "
End If
End Function
Function sayDigit(digit As String) As String
Select Case digit
Case 1
sayDigit = "Satu "
Case 2
sayDigit = "Dua "
Case 3
sayDigit = "Tiga "
Case 4
sayDigit = "Empat "
Case 5
sayDigit = "Lima "
Case 6
sayDigit = "Enam "
Case 7
sayDigit = "Tujuh "
Case 8
sayDigit = "Delapan "
Case 9
sayDigit = "Sembilan "
Case Else
sayDigit = ""
End Select
End Function
Function sayIDR(ByVal numStr As String) As String
Dim Unit As String, lenOfNum As Integer, y, i, j, k, l
Dim TMP As String
lenOfNum = Len(numStr)
If lenOfNum > 15 Then
sayIDR = "Too many digits."
Exit Function
End If
If lenOfNum < 16 And lenOfNum > 12 Then
sayIDR = say3Digit(Left$(numStr, lenOfNum - 12)) & "Trilyun "
numStr = Right$(numStr, 12)
lenOfNum = Len(numStr)
End If
If lenOfNum > 9 Then
If Left$(numStr, 3) <> "000" Then
sayIDR = sayIDR & say3Digit(Left$(numStr, lenOfNum - 9)) & "Milyar "
End If
numStr = Right$(numStr, 9)
lenOfNum = Len(numStr)
End If
If lenOfNum > 6 Then
If Left$(numStr, 3) <> "000" Then
sayIDR = sayIDR & say3Digit(Left$(numStr, lenOfNum - 6)) & "Juta "
End If
numStr = Right$(numStr, 6)
lenOfNum = Len(numStr)
End If
If lenOfNum > 3 Then
If Left$(numStr, 3) <> "000" Then
TMP = say3Digit(Left$(numStr, lenOfNum - 3))
If TMP = "satu " Then
TMP = "sen"
End If
sayIDR = sayIDR & TMP & "Ribu "
End If
numStr = Right$(numStr, 3)
lenOfNum = Len(numStr)
End If
If Left$(numStr, 3) <> "000" Then
sayIDR = sayIDR & say3Digit(Left$(numStr, lenOfNum))
End If
sayIDR = sayIDR & "Rupiah"
End Function
Catatan :
Eksekusi dengan SayIDR
Contoh : SayIDR([text32]