Convertir número a letras en excel, use un complemento pero...

Deseo saber si para convertir numero a letras, ¿necesariamente se tiene que usar un complemento de excel?

El complemento lo descargue de internet. Y lo probé haciendo esa proforma de la imagen y funciono...

en esa imagen, puse en A12 ="Son:"&Numletra(D11)&"SOLES", 

Este archivo esta en mi pc, si deseo hacer eso en otra pc siempre tengo que llevar ese complemento, y depender de él, ¿cómo se puede hacer para que ponga la función NUMLETRA en cualquier pc que use?

No domino macros, pero si es para copiar y pegar una macro quizás lo logre. Gracias por sus comentarios.

4 Respuestas

Respuesta
1

Inserta un módulo y pegas el código que está en la página y listo

Link

https://www.elblogdeluisreyes.com/2019/08/macro-para-pasar-de-numeros-letras-vba.html?m=1 

Respuesta
2
Respuesta
1

La función de link está mal.

Por ejemplo, para 1.112.556.893,20 retorna

Un mil millones ciento doce millones quinientos cincuenta y seis mil ochocientos noventa y tres 20/100 MN.

Y la conversión correcta es:

Mil ciento doce millones quinientos cincuenta y seis mil ochocientos noventa y tres con veinte (centavos o centésimos)

Asumo que el amigo DANTE debe tener algún módulo con está función.

Respuesta
1

Como este tema da para muchas respuestas, aporto mi punto de vista.

Los 2 links tienen macros correctas salvo, como bien menciona EDUARDO, para cifras mayores lo correcto sería como muestra en su ejemplo.

Ahora, para aquellos que no convierten las cifras como nombre propio (cada palabra iniciando en mayúsculas) les dejo una imagen y la instrucción agregada para cada caso:

Las 2 primeras conversiones corresponden, respectivamente, la 2da macro de Dante y a la del Link dejado por Adriel (más sencilla pero válida para cifras que no lleguen a los mil millones)

Y las de color necesitan se obtuvieron haciendo un pequeño ajuste al resultado final, dejando en mayúsculas solo la primera palabra.

En la de Dante reemplazar donde dice: CONVERTIRNUM = Letra

    'Regresar el resultado final de la conversión
    'CONVERTIRNUM = Letra
    CONVERTIRNUM = UCase(Left(Letra, 1)) & LCase(Right(Letra, Len(Letra) - 1))

Y en la del otro blog, agregar a continuación de donde dice: NumLetras = Trim(------)

    NumLetras = Trim(NumLetras) & " " & Format(Str(Centavos), "00") & "/100 " & IIf(ValorEntero = 1, MonedaSingular, MonedaPlural)
NumLetras = UCase(Left(NumLetras, 1)) & LCase(Right(NumLetras, Len(NumLetras) - 1))

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas