Function NumeroALetras(ByVal MyNumber As Double) As String Dim Euro As String, Centavos As String Dim Temp As String Dim DecimalPlace As Integer Dim Count As Integer Dim Pesos, CentavosTexto As String MyNumber = Round(MyNumber, 2) DecimalPlace = InStr(MyNumber, ".") If DecimalPlace > 0 Then Centavos = Mid(MyNumber, DecimalPlace + 1) MyNumber = Left(MyNumber, DecimalPlace - 1) If Len(Centavos) = 1 Then Centavos = Centavos & "0" CentavosTexto = " " & Centavos & "/100 M.N." Else CentavosTexto = " 00/100 M.N." End If Count = 1 Do While MyNumber <> "" Temp = ConvierteCientos(Right(MyNumber, 3)) If Temp <> "" Then Pesos = Temp & " " & Choose(Count, "", "Mil", "Millones", "Mil Millones", "Billones") & " " & Pesos End If If Len(MyNumber) > 3 Then MyNumber = Left(MyNumber, Len(MyNumber) - 3) Else MyNumber = "" End If Count = Count + 1 Loop NumeroALetras = Trim(Pesos) & " pesos " & CentavosTexto End Function
If you are looking to convert numbers to text (e.g., "100" to "cien"), here are the standard methods: CentavosTexto As String MyNumber = Round(MyNumber