Macro Numero a letra

Bueno instale la macro y funciona de maravilla ademas que las instrucciones son muy fáciles de seguir. COmo le puedo agregar para que el número en letras termine con la palabra "pesos". Gracias

1 Respuesta

Respuesta
1
Leyendo tu ficha no encontré que hayas hecho consulta antes, por lo que desconozco cuál sea tu rutina.
Hay muchas por la web que transforman nros a letras.
La que tengo te permite agregar la moneda como un argumento más, por ej:
Function Nros_Letras (ByVal Nro as Double, Moneda as String)
Pero si ese no es tu caso deberás agregar aquí tu rutina para que te podamos ayudar a modificarla.
Function Letras(x)
Nu = Array("cero", "uno", "dos", "tres", "cuatro", "cinco", _
"seis", "siete", "ocho", "nueve", "diez", "once", "doce", _
"trece", "catorce", "quince", "dieciseis", "diecisiete", _
"dieciocho", "diecinueve", "veinte", "veintiuno", "veintidos", _
"veintitres", "veinticuatro", "veinticinco", "veintiseis", _
"veintisiete", "veintiocho", "veintinueve")
Nd = Array("", "", "", "treinta", "cuarenta", "cincuenta", _
"sesenta", "setenta", "ochenta", "noventa")
Nc = Array("", "ciento", "doscientos", "trescientos", "cuatrocientos", _
"quinientos", "seiscientos", "setecientos", "ochocientos", "novecientos")
U = x Mod 10
d = Int(x / 10) Mod 10
c = Int(x / 100)
If d > 2 Then
Letras = Nd(d) + " y " + Nu(U)
Else
U = d * 10 + U
Letras = Nu(U)
End If
If U = 0 Then Letras = Nd(d)
If c > 0 Then Letras = Nc(c) + " " + Letras
If x = 100 Then Letras = "cien"
End Function
Function Enletras(x)
centavos = Int(x * 100) Mod 100
x = Int(x)
grupo1 = x Mod 1000
grupo2 = Int(x / 1000) Mod 1000
grupo3 = Int(x / 1000000)
n = Letras(grupo3)
If Right(n, 3) = "uno" Then
Enletras = Left(n, Len(n) - 1) + " millones "
Else
If grupo3 > 0 Then Enletras = n + " millones "
End If
If grupo3 = 1 Then Enletras = "un millón "
n = Letras(grupo2)
If Right(n, 3) = "uno" Then
Enletras = Enletras + Left(n, Len(n) - 1) + " mil "
Else
If grupo2 > 0 Then Enletras = Enletras + n + " mil "
End If
If grupo1 > 0 Then Enletras = Enletras + Letras(grupo1)
If centavos > 0 Then Enletras = Enletras + " con " + Str(centavos) + "/00"
End Function
La última línea (de la última rutina) tenés que reemplazar por estas otras:
If centavos > 0 Then
Enletras = Enletras + " con " + Str(centavos) + "/00" & " pesos"
Else
Enletras = Enletras + " pesos"
End If

End Function
Pruébala ingresando valores con y sin centavos para que veas el resultado.
Elsa Matilde. Mil gracias por tu oportuna y eficaz colaboración. La modificación funcionó perfecta. Un abrazo desde Colombia. Carlos Marín.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas