in

No me gustaNo me gusta

EXCEL: Convertir números a letras

Hoy te proponemos escribir una “macro” para Microsoft Excel que te permitirá expresar números como su equivalente en letras. Se trata de una función muy buscada y que no viene “de serie” en la planilla de cálculo. En NeoTeo te mostraremos, paso a paso, como puedes escribirla tu mismo.

Una macro para Excel.

Todos los que utilizamos la planilla de cálculo de Microsoft en algún momento nos hemos topado con la necesidad de convertir importes expresados como números (“138.55 €”) a su equivalente en letras (“ciento treinta y ocho euros con cincuenta y cinco centavos.”).

Este tipo de conversión es casi indispensable cuando utilizamos Excel en labores relacionadas con la confección de facturas, presupuestos, liquidación de recibos de haberes, trabajos contables, emisión de comprobantes con importes o cualquier otra ligada al manejo de importes. Aunque no siempre sea obligatorio declarar los importes con ese formato, el hacerlo le da más “seriedad” a nuestros informes.

Excel, al igual que los demás integrantes de la suite Microsoft Office, permite la construcción de macroinstrucciones sumamente complejas, utilizando un lenguaje llamado Visual Basic para Aplicaciones (o VBA), que, como su nombre lo indica, es muy similar al Visual Basic.

Aprovechando lo que hemos aprendido en nuestro tutorial sobre Visual BASIC 2005, en especial lo que se refiere a las instrucciones de control de flujo del programa, podemos escribir una macro que realice la conversión mencionada en Excel.

Escribiendo la macro
Para escribir una macro, necesitamos en primer lugar abrir el editor de VBA que tiene incluido Excel. Para ello, como puede verse en la figura siguiente, vamos al menú principal de la aplicación y desde allí seleccionamos la opción “Herramientas”, luego “Macro” y del submenú que se abre hacemos clic en “Editor de Visual Basic”. (ALT-F11 realiza la misma acción).

Editor de VBA.

Como puede verse en la imagen de la derecha, el editor de VBA, que se parece mucho a lo visto en nuestro tutorial de VB, propone cuatro ubicaciones para (“Hoja1”, “Hoja2”, “Hoja3” y “ThisWorkbook”) el código que vamos a escribir.

Le damos doble clic a la opción “ThisWorkbook”, y el editor tomará este aspecto:

En la sección en blanco que aparece deberemos pegar el código que te mostramos al final de este artículo, o descargar esta planilla de ejemplo.

No vamos a explicar aquí el funcionamiento detallado de la macro, por que lo abordaremos en el tutorial de VB. Basta con saber que se divide en dos funciones. Una de ellas (“num2letras”) convierte un número comprendido entre 0 y 999 en su equivalente en letras (“cero” a “novecientos noventa y nueve”). La otra, a la que hemos llamado “num2let” se encarga de llamar las veces que sea necesaria a la primera de ellas para “armar” el texto correspondiente al importe.

Para utilizarla, basta con escribir en una celda cualquiera de nuestra hoja de cálculo (aquella en que queremos aparezca el importe en letras) algo parecido a lo siguiente:

Al hacerlo, en el lugar que hemos escrito la fórmula aparecerá el importe tal como puede verse en rojo.

Por supuesto, es mucho más interesante hacer algo como lo que se ve en esta captura de pantalla:

Ya que de esa manera podemos convertir a letras el valor de otra celda, que puede ser el resultado de algún cálculo más o menos complejo. La función “Concatenar” simplemente le agrega el texto “Son” al principio de la cadena.

Código de la macro
Este es el código de la macro en cuestión. Simplemente, debemos seleccionarlo con el ratón, copiarlo al portapapeles (con CTRL-C) y luego pegarlo en el editor de VBA (con CTRL-V):

‘————————————-
Public i

Function num2let(importe)   If importe = 1 Then final = " peso" Else final = " euros"   If importe > 999 Then num2let = num2letras(Int(importe / 1000)) + " mil "      num2let = num2let + num2letras(importe – Int(importe / 1000) * 1000) + final      If Int(importe) = 0 Then num2let = "cero euros"      If importe <> Int(importe) Then       num2let = num2let + " con " + num2letras((importe – Int(importe)) * 100) + " centavos."   End If
End Function

Function num2letras(importe)   ‘Pasa de numero a letras, importes entre 0 y 999      ‘Centena —————————————-   centena2 = Int(importe / 100)   Select Case centena2       Case 0: num2letras = ""       Case 1: num2letras = "cien"       Case 2: num2letras = "doscientos"       Case 3: num2letras = "trescientos"       Case 4: num2letras = "cuatrocientos"       Case 5: num2letras = "quinientos"       Case 6: num2letras = "seiscientos"       Case 7: num2letras = "setecientos"       Case 8: num2letras = "ochocientos"       Case 9: num2letras = "novecientos"   End Select
   ‘Decena ———————————————-   decena2 = Int((importe – centena2 * 100) / 10)   If centena2 = 1 Then num2letras = num2letras + "to"   Select Case decena2       Case 1: num2letras = num2letras + " diez"       Case 2: num2letras = num2letras + " veinte"       Case 3: num2letras = num2letras + " treinta"       Case 4: num2letras = num2letras + " cuarenta"       Case 5: num2letras = num2letras + " cincuenta"       Case 6: num2letras = num2letras + " sesenta"       Case 7: num2letras = num2letras + " setenta"       Case 8: num2letras = num2letras + " ochenta"       Case 9: num2letras = num2letras + " noventa"   End Select      ‘Unidad ———————————————-   unidad2 = Int((importe – centena2 * 100 – decena2 * 10))   If decena2 = 0 Then       ‘num2letras = Mid(num2letras, 1, Len(num2letras) – 6)       Select Case unidad2       ‘Case 0: num2letras = num2letras + " cero"       Case 1: num2letras = num2letras + " un"       Case 2: num2letras = num2letras + " dos"       Case 3: num2letras = num2letras + " tres"       Case 4: num2letras = num2letras + " cuatro"       Case 5: num2letras = num2letras + " cinco"       Case 6: num2letras = num2letras + " seis"       Case 7: num2letras = num2letras + " siete"       Case 8: num2letras = num2letras + " ocho"       Case 9: num2letras = num2letras + " nueve"       End Select   End If      If decena2 = 1 Then       num2letras = Mid(num2letras, 1, Len(num2letras) – 4)       Select Case unidad2       Case 0: num2letras = num2letras + " diez"       Case 1: num2letras = num2letras + " once"       Case 2: num2letras = num2letras + " doce"       Case 3: num2letras = num2letras + " trece"       Case 4: num2letras = num2letras + " catorce"       Case 5: num2letras = num2letras + " quince"       Case 6: num2letras = num2letras + " diceciseis"       Case 7: num2letras = num2letras + " diecisiete"       Case 8: num2letras = num2letras + " dieciocho"       Case 9: num2letras = num2letras + " diecinueve"       End Select   End If      If decena2 = 2 Then       If unidad2 <> 0 Then num2letras = Mid(num2letras, 1, Len(num2letras) – 6)       Select Case unidad2       Case 1: num2letras = num2letras + " veintiun"       Case 2: num2letras = num2letras + " veintidos"       Case 3: num2letras = num2letras + " veintitres"       Case 4: num2letras = num2letras + " veinticuatro"       Case 5: num2letras = num2letras + " veinticinco"       Case 6: num2letras = num2letras + " veintiseis"       Case 7: num2letras = num2letras + " veintisiete"       Case 8: num2letras = num2letras + " veintiocho"       Case 9: num2letras = num2letras + " veintinueve"       End Select   End If      If decena2 > 2 Then       Select Case unidad2       Case 1: num2letras = num2letras + " y un"       Case 2: num2letras = num2letras + " y dos"       Case 3: num2letras = num2letras + " y tres"       Case 4: num2letras = num2letras + " y cuatro"       Case 5: num2letras = num2letras + " y cinco"       Case 6: num2letras = num2letras + " y seis"       Case 7: num2letras = num2letras + " y siete"       Case 8: num2letras = num2letras + " y ocho"       Case 9: num2letras = num2letras + " y nueve"   End Select   End If      If importe = 100 Then num2letras = "cien"
End Function

Reportar

¿Qué te pareció?

Escrito por Ariel Palazzesi

117 Comments

Leave a Reply
  1. Ariel, me parece que la función que generaste está buena como ejemplo, pero si no vas a explicar el funcionamiento deberías hacerla para todos los valores representables posibles (que no son tantos como parece).

    • Hola amigo!
      Es que la funcion sirve para cualquier valor!
      Funciona desde 0.01 euro a 999.999.99 euros, más que suficientes para cualquier uso. Si necesitas valores superiores al millon de euros, puedes modificar a num2let() para que haga un llamado mas a la otra funcion, y podrias utilizar valores de hasta 1000 millones. (casi que no puedo imaginar tanto dinero junto.. 😛 )

      Saludos!

      • Vi tu plantilla, e intente modificar a Num2let() pero como macro solo me sale ordenar concepto y la macro no esta desarrollada, como modifico la función para cambiar Euro por Dólares. Gracias

    • hola , eh estado intentando cambiar unas cosas ,pero no me da, bueno , un favor pueden cambiarme estas letras a numeros WWMTOOGJ , los necesito urgente , de ante mano gracias

    • Amigos saludos desde chile
      deseo saber como cambio la palabra EURO del final por la palabra peso o simplemente sin esa terminacion
      puedo dejar escrito la palabra peso en el formulario preimpreso.
      gracias
      saludos

  2. Hola Ariel,
    la macro funciona a la perfeccion unicamente hay un pequeño fallo que es que cuando escribes "1234" pone "un mil doscientas treinta y cuatro". ¿Como podria hacer para suprimir el "un", de la expresion? Gracias

    • Hola Ariel mi nombre es Hugo y soy contador, quiero decirte que la expresión "un mil" es correcta y más cuando se habla en términos monetarios, sólo que tenemos la mala costumbre de omitir el "un" en los textos y en el habla.

      Si puedes corrobora lo que te digo en algún billete de 1,000.00, incluso cuando son dollares dice "one tousand dollars" (un mil dólares).

      No hay que hacer esa corrección a la macro.

    • no debes suprimir el un, o sino estaría mal escrito tu número en letras, la palara un mil es la forma correcta de escribir este número

  3. Hago todos los pasos que me aparecen en este tutorial y no logro nada cuando escribo la formula me aparece el mensaje NOMBRE con unos signos.Ayuda por fa

  4. Como estamos???
    Una pregunta.
    Necesitaria saber como puedo hacer para poder colocar varios filtros desplegables en una misma columna en excel

  5. Hola amigos, saludos a todos, les escribo desde la hermosa República de Colombia, es un placer comentar con ustedes acerca de la "macro" (coloco las comillas porque en realidad es una función o fórmula para los cálculos de excel y que no viene incluida en él) de la que escriben ustedes para convertir una cantidad expresada en dígitos con su correspondiente valor en texto.

    Debido a mi trabajo, donde de manera corriente hay que llenar planillas de excel, y el valor final hay que expresarlo en letras, decidí – al notar la falta de esta función en excel – escribirla yo mismo. A medida que escribía el código noté fallas en él, cuando lo probé, noté fallas como las que describen:

    ** 1236 = "Un mil doscientos treinta y seis…", al amigo Hugo Hernández le comento lo siguiente: "quiero decirte que la expresión "un mil" es correcta y más cuando se habla en términos monetarios, sólo que tenemos la mala costumbre de omitir el "un" en los textos y en el habla": en Colombia es de uso corriente decir "mil doscientos treinta y seis pesos" y no "un mil…", si no lo creen busquen y verán que nuestros billetes de $1.000 emitidos por el Banco de la República así lo escribe en ellos. Esta falla la corregí a punta de "fuerza bruta", en este momento el código lo estoy mejorando para hacerlo más compacto (aclaro que en mis momentos de ocio – que no son muchos por cierto -, debido al trabajo). Y aclaro también mi expresión "fuerza bruta" porque mis conocimientos de programación son mínimos y lo poco que sé lo he aprendido yo mismo, gracias a todo el contenido que se encuentra en Internet.

    En fin, si alguien desea le puedo enviar el código que escribí y que funciona con cantidades que van de 1 hasta 999.999’999.999.99 (En Colombia se transcribe: "Novecientos Noventa y Nueve Mil Millones Novecientos Noventa y Nueve Pesos con Noventa y Nueve Centavos MLCTE"), y de paso le puedo enviar un documento para que ingrese la citada función a las ya incluidas en excel.

    Con aprecio,

    David M. Uribe

    dav_7236@hotmail.com

    • Hola david, soy Igualmente un Colombiano mas, pero haciendo patria desde el exterior, trabajo en Guinea Ecuatorial, Africa, me gustaria tener tus instrucciones para convertir en excel numeros a letras, seria de gran ayuda para mi labor como contable en la empresa con la que trabajo, si te es posible me envias la instruccion para cambiarle" pesos " por " Fcos Cfas " la moneda corriente del africa central.
      Mi E-mail travesuras58@hotmail.com
      jaimehdaza@gmail.com

      Un abrazo de paisano.
      Agradecido:

      JAIME HUGO DAZA PAZ

    • hola david
      Bueno creo que ya somos unos cuantos que te preguntamos por la función en pesos..
      si es posible podrías ponerla como otra plantilla o decirnos donde cambiar etc..
      Muchas gracias

      mariano

    • Hola mi nombre es Fabio Garcia, tambien de Colombia (Bogotá) y si me gustaria que me enviara el codigo que escribio, pues a veces hago automatizaciones en Excel y ese ha sido uno de los mayores incovenientes que he tenido al momento de realizar una factura. Tambien
      me serviria el docuemento.

      Mi correo es fabiogt@starmedia.com.

      Muchas gracias por su colaboracion

    • MI AMIGO BUENAS TARDES, TE COMENTO QUE LA VERDAD ESTOY BUSCANDO ESTA FORMULA POR TODOS LADOS Y NO HE PODIDO HALLARLA, TE COMENTO QUE LA NECESITO POR QUE A DIRIO ESTOY LLENADO CUALQUIER CANTIDAD DE HOJAS EN EXCEL Y COMO NO HE ENCONTRADO LA FORMULA DEBO DIGITAR CANTIDA POR CANTIDAD CADA UNA.

      EN LO QUE ME PUEDAS COLABORAR QUEDARE MUY AGRADECIDO.
      MI CORREO….
      br13baflas4@hotmail.com.
      GRACIAS

    • es formidable lo que has realizado, felicidades desde córdoba veracruz mexico.#13 podras enviarme lo que comentas para hacerlo anexo de excel.

      Saludos y gracias

  6. Hola a todos de nuevo, recibí una corrección a mi comentario de ayer, efectivamente, la cantidad 999.999’999.999 se transcribe "novecientos noventa y nueve mil novecientos noventa y nueve millones novecientos noventa y nueve mil novecientos noventa y nueve pesos MLCTE".

    Atte.

    David M. Uribe

  7. Hola quien me podría decir que puedo hacer:
    Quiero convertir números a letras en excel 2008 de Mac los necesito para un formato de cheques y facturación que me recomiendan hacer.

    Perafanu.

  8. Buenas tardes Sres. me confirmar bien como son los pasos para que la cifra de un total la pueda escribir en letras porque le busque de pie a pa pero no le encuentro la vuelta habra alguien que me explique desde el comienzo para ver si falle en algun paso desde ya gracias

  9. hola soy martin, oye un favorzaso mira soy contador, pero quiero covertir un archivo de excel a texto, pero no se como utilizar y aplicar el macro para poder realizar este proceso, pero me puedas ayudar muchas gracias

  10. hola a todos una pregunta es que trabajo en un departamento de evaluacion y me gustaria saber si hay una forma de conver numeros a letras en excel es que he estado buscando y no encuentro la formula quien me podria ayudar.
    mi correo es alfonzo.98@hotmail.com

  11. HOLA ME PODRIAN AYUDAR COMO HACER PARA CONVERTIR PESOS MEXICANOS A DOLARES
    LETRA Y NUMERO SE LOS AGRADECERIA NO HE PODIDO Y QUISIERA QUE ME ENVIARAN LA INFORMACION PLEASE GRACIAS………………MONTERREY, NUEVO LEON, MEXICO ….

    SALUDOS A TODOS LOS QUE VISITAN ESTE SITIO ADIOS…………………….

  12. Hola, he estado "cacharreando" un rato con la función que convierte números en letras, en excel.

    Ahora puede cambiar "Pesos", "Centavos" y "MLCTE" por lo que más le convenga, espero que la ayuda les sea útil, se incluye un pequeño tutorial que explica el proceso para poner la función en excel.

    La encuentra en:

    http://fotorincon.com/foros/viewtopic.php?t=2124&p=19862

    Saludos a todos desde Colombia,

    atte,

    David M. Uribe – dav_7236@hotmail.com

  13. Hola queridos amigos!
    Me parace una buena Herramienta, fenomenal en todo caso.
    Pero como puedo hacer para que los resultados aparescan en Bolívares.

    Gracias

    Saludos

  14. Hola a todos, les comento que yo no se nada de nada de programacion en VB o macros, por lo que en una hoja a base de funciones, desarrolle un "programa" que cambia perfectamente cualquier cantidad en numeros a letras.

    El inconveniente es que dedico una hoja por cada cantidad que desee reexpresar mediante un cruce de informacion, "igual a la cantidad expresada en numero que viene de tu factura, y te devuelvo la cantidad en letra, expresada en tu factura".

    Actualmente desarrollo el mismo "programa", pero en un codigo mucho mas compacto, expresado en unas cuantas columnas pero en el mismo renglon, lo que me permite en la misma hoja poner tantos renglones como cantidades en letra vaya necesitando, util si se desea desarrollar una pequeña contabilidad en excell, por eso de las polizas.

    En mi caso, mediante tambien funciones desarrollo un formulario dinamico, lo que me permite tener una hoja como base de datos y una como reporte dinamico, cuyos valores estan condicionados a por ejemplo el numero de cliente, y dentro de los valores que se actualizan automaticamente, esta por supuesto la cantidad con letra.

    ulisesa aguilera
    igualanet@hotmail.com

  15. Ok. creo que la funcion esta muy buena como ejemplo pero encontre un pequeño error prueben introducir 25.29 y me dicen como corregir eso…

    Lo de cambiae Euro a otro formato de monetario es solo cambiar el texto Euro en el codigo y ya esta.

    Si corrigen este error que encontre seria bueno que lo publiquen en el foro
    Chao

    • #31 sobre el error de los decimales encontre que es un problema de Excel puesto no sabe calcular desconozco la raiz de su calculo pero es una simple conversion de numeros y no sucede con todos los numeros, los que mas estan excentos son aquellos que tienen 5 ya que estuve haciendo pruebas con varios, la unica forma que se me ocurrio para poder solucionarlo es cambiar la formula que tienes (importe – Int(importe)) * 100) por esta otra (importe * 100) – (int(importe) * 100) asi te quedaran los numeros de centavos, solo aplica para 2 digitos.

      • #81 Amigo me ha funcionado tu solución con los decimales. Gracias.

        Para los que necesiten aplicarlo en su celda con el numero yo tengo lo siguiente:

        =MAYUSC(CONCATENAR("Son: ";num2let(Celda que contiene el numero)))

  16. Hola Nelson recibe saludos desde Nicaragua, para que el resultado aparesca en Bolivares anda al codigo y cambia donde dice euro sustuyelo por Bolivares y listo… espero que responda a tu pregunta.

  17. Hola, quisiera ayuda :
    1.- Necesito Cambiar euros por Pesos
    2.- Quiero saber si puedo cambiar a letras mayusculas

    Gracias por su ayuda

  18. me gustaria saber si es posible una vez creada esa formula en el visual, abrir de cualquier planilla de excel sin tenes q volver a establecerla
    gracias

  19. Buenos Dias

    Necesito de favor la macro, pero que me pueda dar la cantidad en por ejemplo de la siguiente cantidad

    $122586.25

    Deberia de escribirse
    Son un ciento veinte y dos mil quinientos ochenta y seis pesos 25/100 M.N

    Se los agradeceria mucho,
    lo pueden enviar a su servidor
    eliezergutierrez@hotmail.com

  20. HOLA EDITOR… SALUDOS…
    BIEN MI PREGUNTA ES … YA QUE TENGO LA PLANTILLA PARA CONVERTIR LO NUMERO EN TEXTOS, SOLO FUNCIONA HASTA LOS NOVECIENTOS Y FRACCION PERO EN MI TRABAJO OCUPO HASTA MILLONES DE PESOS (MXN) COMO PUEDO CAMBIAR LA FORMULA O INCREMENTARLE LA FUNCION PARA PODER OCUPARLA ADECUADAMENTE….
    TE DEJO MI CORREO juca_siete@hotmail.com Y cm2_angelj@yahoo.com.mx
    att: ANGEL J.

  21. Buenos Dias muchacho excelente trabajo con esa macro los felicito mucho. la verdad es que hetratado de modificarla para que me arroje el resultado de mas de 6 dijitos y no lo he logrado le agradeceria si me envian el codigo completo.

    Saludos y nuevamente los felicito!!!!!

    Juan Carlos
    juank_0101@hotmail.com

  22. Hola a todos!

    Recientemente tengo la necesidad de utilizar esta función para mi trabajo y creo que es una excelente herramienta pero he seguido los pasos como lo indican y he llegado hasta la parte de pegar el código en VB y despues de ahi ya no se que hacer, mucho les agradecere si alguien me puede ayudar. (pochesl@hotmail.com)

    Saludos

  23. Esta excelente la macro solo que me gustaria a que me ayudaras a que saliera con pesos (Mexico) y que se representara asi: Diez mil quinientos pesos 59/100 M.N.

    Soy nuevo en esto y la verdad no tengo idea de como cambiarla, de hecho no he podido ni siquiera pegar la macro a mi hoja de calculo, espero me puedas ayudar!!!
    Mi correo es armagoba@hotmail.com
    Necesito de su ayuda!!

    • #49 en el codigo cambia la siguiente parte
      If importe Int(importe) Then
      num2let = num2let & " " & ((importe * 100) – (Int(importe) * 100)) & "/100 M.N."
      End If

      por cierto muchas gracias por la funcion me servira mucho y corrigo mi post anterior diciendo que era error de Excel, el error es o de OS o del procesador puesto en VB me ocurre el mismo problema con VB 6 y .NET he probado en varios equipos por lo que no hay nada que podamos hacer para cambiarlo incluso si escribes 24.29 – 24 el resultado sera 0.289999999 y si no me creen haganlo en excel y pongan el formato de la celda en numero con 10 digitos.

  24. hola a todos, me gusto mucho la planilla muy buena, la modifique para que entregara los valores en pesos y para que pudieran ingresarse valores sobre el millon.

  25. mira tengo una duda no se si se algun modo puedan ayudarme
    necesito convertir cantidades de numero a letra por desir

    $1,500.00 que lo arrastre automaticamente otra selda asi

    ( un mil quinientos pesos 00/100mn) como le ago

    gracias espero su respuesta ansiosamente.

  26. He leído la macro. Me parece que la función "Int" produce un error al interpretar los decimales. Por ejemplo: Si introducimos 12,60 nos devuelve "Son doce euros con cincuenta y nueve centavos." Sucede lo mismo con otros decimales.
    ¿Cabe corregirlo? Un saludo y gracias.

  27. Hola amigos les dejo una nueva direccion donde pueden descargar el codigo de la funcion que convierte números a texto en excel, sirve para las versiones xp – 2003 – 2007 – 2010.

    Las "pecuecas" (en Colombia se llama de esta manera al mal olor que les da a algunas personas en los pies) de fotorincon.com eliminaron los archivos adjuntos que tenia subidos en su pagina de foros, quien sabe con que justificacion.

    En la página emagister.com se loguean con el mail rudins21@hotmail.com contraseña DASISTLEBE, de alli dirigen la búsqueda (parte superior izquierda) con el texto "convertir numeros a texto en excel (xp", ahí encuentran varios debates, buscan el de un personaje que se llama david uribe, (ese soy yo),

    click en el enlace "Convertir números a texto en excel (xp – 2003 – 2007 – 2010) – Sólo PC",

    luego click en "ver su 1 documento", los lleva a otra página,

    click en NumerosATexto, ahi aparece un enlace color naranja "descargar este documento".

    Se trata de un documento de texto plano, seleccionan el código y lo pegan en la programador de visual basic y a la orden; la fórmula la deben buscar dentro de la categoría de "Funciones definidas por el usuario", se llama NumerosATexto.

    Les pido que una vez se logueen en emagister y descarguen el documento, cierren la sesion para que otras personas puedan a su vez descargar y emplear el codigo.

    Atte

    DMUM

  28. Buenas amigos, me podrian por favor colaborar con algo: quiero que en un archivo de excel si digito un numero este sea reemplazado con un nombre. La idea es abreviar la escritura y darle un codigo al nombre. Por ej: si digito 1 entonces que aparezca el nombre "Pepito Perez". Como hago para crear una funcion asi.
    Muchas gracias.
    Cesar

  29. Buenas noches David Uribe, estoy viendo tu comentario me gustaria de favor me pudieras enviar los codigos, ya que me estoy quebrando la cabeza y no puedo. gracias. te agradecere infinitamente, saludos desde México. Estoy casado con una Colombiana hermosisima de Bogota.

  30. David, te saludo con afecto. Deseo preguntarte, si es posible que nos digas la razón por la que decidiste transmitirnos la función de conversión de números a letras en Exel por medio del foro que nos señalas (del cual ya fueron eliminados los adjuntos que dejaste) y no por esta página tuya, a la que da más gusto acceder que a aquella que solo se dedica a tomar fotos. ¿Podrías aclarar mi duda, por favor?

  31. hola David, estuve viendo el foro que publicaste y me parece que te borraron los adjuntos, te escribi al correo para ver si te ueda facil colaborarme enviandolos, me urge para mi trabajo, mil gracias por tu colaboracion. me llamo Jeison Arlides guzman y vivo en medellin!

    • Este error es intermitente, a veces asoma con ciertas cantidades y otras no, pero afecta siempre a lo que viene despues del punto decimal.

      Alguien nos podria decir a que se debe y como solucionarlo?

  32. Hola buenas tardes: ¿ por favor, me podrias obsequiar la instrucción ( macro o funcion) para convertir numeros a letras en PESOS.? te lo agradeceré mucho. Saludos.

  33. hola soy estudiante, me gustaria saber cual es el codigo en bisual estudio.net para para poder leer un numero y expresarlo en letras, ejemplo 10000: dies mil

  34. Estimado,
    esta muy buena la manera que proporcionaste para la funcion final.. pero le encontre un pequeño (o gran) error.. si no necesitas decimales (por ejemplo: 65.521 = sesenta y cinco mil quinientos veintiuno) esta perfecto!!.. e incluso cuando tambien es con decimales, pero solo si estos son mayores a 0.01 (por ejemplo: 521,21 = quinientos veintiuno con 21/100) tambien esta perfecto!!..

    pero el problema se presenta cuando quieres mencionar de todos modos los decimales pero que estos sean "0".. por ejemplo: 521,00 = quinientos veintiuno con 00/100; en vez de: quinientos veintiuno /100…… que es como lo presenta la macro..

    porfa.. ayudame a solucionar este problemita..

  35. buenas noches. alguien por favor puede ayudarme, he pegado la macro tal y como indican las instrucciones pero por mas que trato no sale el resultado. el resultado que indica es #¿NOMBRE?. les agradezco su ayuda

    annyliz06@hotmail.com

  36. buenas noches. alguien por favor puede ayudarme, he pegado la macro tal y como indican las instrucciones pero por mas que trato no sale el resultado. el resultado que indica es #¿NOMBRE?. les agradezco su ayuda

    annyliz06@hotmail.com

  37. hola por favor alguien puede ayudarme, he pegado la macro tal y como indican las instrucciones pero por mas que trato no sale el resultado. el resultado que indica es #¿NOMBRE?. les agradezco su ayuda

    • A mi me pasa los mismo la macro me funciona pero cuando cierro el excel no me la reconoce i me sale esto de #¿NOMBRE? alguien sabe lo que pasa??¿

      #89

  38. buena tarde la verdad me gustaria que me ayudaran y me dieran el codigo que debo colocar, por que en la parte donde dice descargar planilla de instrucciones no me aparece nada
    gracias

  39. Hola!

    Espero me puedas ayudar con lo siguiente: me ha servido tu tutorial para convertir de numero a texto, pero, requiero que las cantidades en centavos, se expresen en número y no en texto, es decir, algo asi como 20/100 y, que tenga la posibilidad de variar ya sea en pesos o dólares.
    Gracias por tu ayuda y saludos desde Mexico

  40. hola amigos

    quisiera convertir un numero en texto con una formula o funcion en excel 2007 (no en visual basic)…ej

    5 = rrrrr

    4 = rrrr

    3 = rrr

    2 = rr

    1 = r

    muchas gracias por su ayuda..

    saludos

  41. Saludos. Gracias a todos por participar en este foro. Estoy urgido de esta macro pero no se descarga. Al parecer ha sido quitada. Alguien podría hacerme el favor de enviarme el código? Este es mi correo: jarhdoa@cantv.net.
    Muchas gracias!

  42. la naturaleza es un medio muy importatnte q debemos saber para nuestro medio anbiente .
    x la cual debemos cuidarlo x nuestro bien y x la proteccion de muchas personas mas q vivimos en este planeta para q los arboles nos cuiden y nos den mucho aire y proteccion en toda la vida .

  43. MHDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDHHHHHHHHHHHHHHHHHHHHHHHHHUYRUY7HRYBBHAYSTGHHATYGHUAHHTDBUGSGMJHJJF012526825HJHDUDHYHYGDTHGDTYDGFDH.BDSTTGDYATYAT6
    DYDSTDHRUYUSERJSYHBFFSAGSATRF02T6464GTFGSFGDDHAGDHGHSATGDSHUDSHREUJUERURYUFYFGYYRE76EGH537545U4758585634JFHUJFGYHUFYUFUYGETYEUEWYY6ERYYGFYDHFD GHGYEDYTEYTYEYETEH6Y
    RUERYUY7YREUR7URURR.-,RURYREWUWYYTEUEY7YTRR-KUERTWU9U3W
    REWUR8T98J47REYEWBEVGE,HDUFYERLIR9KR.E98RRJ9WRE{}+Q7Q8Y7RU}Ñ¿´PGREY6GUEWYEYTEW5DFDHSYTWJQUWT6HEBGHYE83454742332784947464543435373894050945623425626262626254434188I26101128145972255552536JDEHUYHFUEJGEYYTERYTRE6666666TYFTTEGGDFHJFJKUJGKJJGKJKHIKHJIGDTTTETETTETT.

  44. Hola soy peruana y tengo problemas, por favor si alguien me puede ayudar: deseo convertir un número en letras, ejem 2343.34 dos mil trescientos cuarentitres y 34/100 dólares americanos
    gracias

  45. me parece excelnete la macro, pero tiene un pequeño detalle con los decimales, a la persona quien tenga el archivo original de excel favor verificar con la macro publicada, ya que los decimales si no los convierte exactamente, por ejemplo 12.20 doce euros con diecinueve centavos.
    siendo lo correcto doce euros con veinte centavos.
    alguien que me ayude???

  46. Hola amigos, soy profesor y tengo la dificultad de expresar las notas en palabras para certificado de calificaciones finales, en una planilla excel 2010. Ojalá alguien pueda brindarme su ayuda. Gracias.

  47. Hola buenos días, si alguien me pudiera ayudar ya que en mi caso la formula es para texto de números de documentos de identificación, por ejemplo: (1716 81916 0203) un mil setecientos dieciséis; ochenta y un mil novecientos dieciséis; cero doscientos tres. si alguien me pudiera apoyar le agradecería mucho.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Las zapatillas de “Regreso al Futuro II”

Evento Blog España 2008