may 11 2009
Convertir números a texto (letras) en Excel
En esta ocasión les traigo el código para convertir números a texto en Excel. El uso que puedan o deban darle ya se lo imaginarán. Los pasos a seguir son:
- Seleccionar la celda (vacía) donde se hará la conversión.
- Para Excel 2003, dar clic en Herramientas/Macro/Editor de Visual Basic; para Excel 2007, dar clic en la ficha Vista, opción Macro, Ver Macros, escribir el nombre y clic en crear. Con cualquiera de las dos versiones aparece una ventana de nombre Microsoft Visual Basic – Libro1, ahí es donde se pegará el siguiente código que debes DESCARGAR AQUÍ, antes borra las dos líneas de código que ahí aparecen.
- Guardas los cambios y cierras la ventana Microsoft Visual Basic.
- Da clic en el ícono de Excel Insertar función “fx”, aparece una ventana en la cual debes buscar CONVIERTENUMLETRA, cuando salga la seleccionamos y damos clic en aceptar, en la siguiente ventana escribimos la celda que contiene el número a convertir, por ejemplo “e5″.
- Ahora presionas ENTER y disfrútalo.
Como podemos observar cualquier cantidad escrita en números se convertirá a texto, esto es útil en muchas ocasiones, sobre todo cuando se trata de facturar o hacer notas de ventas con ayuda de Excel.
ACTUALIZACIÓN
Como una cortesía de nuestro amigo el Ing. Reséndiz, tenemos aquí una macro mejorada a la ya descrita. Es un archivo en Excel que no ha sido probado en la versión 2003, si alguien lo hace puede decirnos en los comentarios. Funciona correctamente en 2007 y 2010. Gracias Ing. Reséndiz por compartir la macro con todos. DESCARGAR AQUÍ.
ACTUALIZACIÓN (18/02/12)
Les comento a todos los que les da el problema de UN MIL UNO y algunos otros, que estos han sido corregidos, solo que por falta de tiempo no pude ponerlos antes, aquí en este enlace comparto con todos un ejemplo de factura con Código Bidimensional (CBB) en el cual está la macro modificada y funcionando correctamente, al menos hasta ahora, si encuentran algún error no olviden ponerlo en los comentarios.
¿Te ha funcionado la macro?
Deja un comentario y visita mis otros post.






may 21, 2012 @ 10:08:55
salidoos, quiero una guia como convertir de numeros a letras con macro por favor
may 18, 2012 @ 16:50:26
Excelente, gracias
may 15, 2012 @ 12:41:21
Hola nuevamente; al cerrar mi hoja de excel y volverla abrir aparece la formula, pero al modificar algún número de la cuenta que da el resultado para la cantidad en la celda aparece #¿NOMBRE? necesito hacer algo mas?? mil gracias.
may 11, 2012 @ 16:11:08
que nombre le pongo en el macro?????????????
may 08, 2012 @ 16:25:35
Mil gracias!! es de muchísima ayuda! y felicidades.
may 04, 2012 @ 15:57:45
¡Muchas gracias!
Comparti tu contenido
Saludos
may 03, 2012 @ 11:53:18
Me pueden ayudar?…..logre que me convirtiera los numeros en letra, pero cuando cierro el archivo y lo vuelvo a abrir la formula no se mantiene, me muestra la formula en la barra de formulas, pero en la celda se ven puros simbolos de ##### quiero saber que estoy haciendo mal, pues segun yo he seguido todos los pasos pero no logro hacer que se mantenga.
Gracias de antemano.
Orlando G.
may 03, 2012 @ 17:01:54
Orlando:
Esos símbolos que me indicas, significa que el contenido no cabe en la celda, cambia el ancho de la celda. Por otra parte cada vez que abras tu archivo con la macro, te sale un mensaje que dice que se han deshabilitado las macros, solo da clic en habilitar macros.
Saludos.
abr 27, 2012 @ 14:49:58
Esta formula esta muy buena, gracias por compartirla es muy muy util.
abr 26, 2012 @ 10:01:16
Excelentr, Muy agradecido. Me fue muy util.
Sl2
abr 24, 2012 @ 10:27:36
Muy buen aporte, me sirvio bastante. Gracias
abr 22, 2012 @ 21:20:45
Saludos a todos.
Me alegra saber que la macro es útil para sus actividades.
abr 19, 2012 @ 18:31:43
EXCELENTE!!!!! ME AYUDO MUCHISIMO. Tienen espacio en Twitter y/o FB para seguirlos y comentarlos
abr 19, 2012 @ 22:27:29
Daniel Castillo:
Claro, en Facebook: http://www.facebook.com/vateos y Twitter: https://twitter.com/#!/vateos
may 10, 2012 @ 14:22:36
HOLA HICE TODOS LOS PASOS PERO NO ME APARECE LA FORMULA CUANDO LA BUSCO ME PODRIAN AYUDAR
abr 15, 2012 @ 02:50:44
Esta bueno el aporto para practicar. Solamente Reemple el Valor “PESOS” a “CORDOBAS” y listo. Considero que seria la Mismo para los VALORES en otros IDIOMAS o MONEDAS.
abr 13, 2012 @ 01:37:49
Excelente aporte muy bueno se lo agradezco desde nicaragua
abr 10, 2012 @ 15:33:40
Me parece muy bien, pero acá (Ecuador), usamos dólares americanos. No sabes como cambiar eso o si tienes ya la base para bajármela, mejor.
Saludos,
abr 03, 2012 @ 14:15:29
muchas gracias si me fue util
abr 03, 2012 @ 12:02:22
hola km estan muchas gracias por la informacion es de utilidad pero tengo una duda cada vez k habro una nueva hoja de excel y kiero meter la formula para la convercion no me sale solo funciona en la hoja de origen espero y me pueda hayudar para no estar habriendo visual basic y estar pegando cade vez k necesito habrir una nueva hoja de antemano mil gracias
mar 31, 2012 @ 13:22:00
mil gracias por esta informacion, me fue de mucha utilidad y pude hacer mi trabajo con esta macro.
mar 29, 2012 @ 16:10:39
Antonio tu programa corre perfectamente, es una herramienta muy útil para mí
Muchas gracias
mar 29, 2012 @ 03:29:29
Hola, buenos días.
Ante todo expresarte mi agradecimiento por la labor que hacéis los expertos, que tanto ayudáis a los que, como yo, somos simples aficionados que seguimos a los que saben con el máximo respeto.
He utilizado el código que aportas y sinceramente debo decir que va de fábula, así que enhorabuena y gracias.
Por motivos de trabajo, a veces me veo obligado a utilizar datos numéricos y en otras ocasiones expresados en textos, y también, en la mayoría de las presentaciones, en ambos formatos.
Encontré otro código en una página de Internet el cual tengo instalado en otro PC, lo copié y me funciona correctamente. El código en concreto es este:
…………………………………………………..
Function num2let(value)
If Int(value) = 1 Then
num2let = “uno” & ” con ” & Int(Round(((value – Int(value)) * 100))) & “/100″
Else
num2let = Num2Text(value) & ” con ” & Int(Round(((value – Int(value)) * 100))) & “/100″
End If
End Function
Public Function Num2Text(ByVal value As Double) As String
fraccion = value – Int(value)
value = Int(value)
Select Case value
Case 0: Num2Text = “cero”
Case 1: Num2Text = “un”
Case 2: Num2Text = “dos”
Case 3: Num2Text = “tres”
Case 4: Num2Text = “cuatro”
Case 5: Num2Text = “cinco”
Case 6: Num2Text = “seis”
Case 7: Num2Text = “siete”
Case 8: Num2Text = “ocho”
Case 9: Num2Text = “nueve”
Case 10: Num2Text = “diez”
Case 11: Num2Text = “once”
Case 12: Num2Text = “doce”
Case 13: Num2Text = “trece”
Case 14: Num2Text = “catorce”
Case 15: Num2Text = “quince”
Case Is < 20: Num2Text = "dieci" & Num2Text(value – 10)
Case 20: Num2Text = "veinte"
Case Is < 30: Num2Text = "veinti" & Num2Text(value – 20)
Case 30: Num2Text = "treinta"
Case 40: Num2Text = "cuarenta"
Case 50: Num2Text = "cincuenta"
Case 60: Num2Text = "sesenta"
Case 70: Num2Text = "setenta"
Case 80: Num2Text = "ochenta"
Case 90: Num2Text = "noventa"
Case Is < 100: Num2Text = Num2Text(Int(value 10) * 10) & " y " & Num2Text(value Mod 10)
Case 100: Num2Text = "cien"
Case Is < 200: Num2Text = "ciento " & Num2Text(value – 100)
Case 200, 300, 400, 600, 800: Num2Text = Num2Text(Int(value 100)) & "cientos"
Case 500: Num2Text = "quinientos"
Case 700: Num2Text = "setecientos"
Case 900: Num2Text = "novecientos"
Case Is < 1000: Num2Text = Num2Text(Int(value 100) * 100) & " " & Num2Text(value Mod 100)
Case 1000: Num2Text = "mil"
Case Is < 2000: Num2Text = "mil " & Num2Text(value Mod 1000)
Case Is < 1000000: Num2Text = Num2Text(Int(value 1000)) & " mil"
If value Mod 1000 Then Num2Text = Num2Text & " " & Num2Text(value Mod 1000)
Case 1000000: Num2Text = "un millón"
Case Is < 2000000: Num2Text = "un millón " & Num2Text(value Mod 1000000)
Case Is < 1000000000000#: Num2Text = Num2Text(Int(value / 1000000)) & " millones"
If (value – Int(value / 1000000) * 1000000) Then Num2Text = Num2Text & " " & Num2Text(value – Int(value / 1000000) * 1000000)
Case 1000000000000#: Num2Text = "un billón"
Case Is < 2000000000000#: Num2Text = "un billón " & Num2Text(value – Int(value / 1000000000000#) * 1000000000000#)
Case Else: Num2Text = Num2Text(Int(value / 1000000000000#)) & " billones"
If (value – Int(value / 1000000000000#) * 1000000000000#) Then Num2Text = Num2Text & " " & Num2Text(value – Int(value / 1000000000000#) * 1000000000000#)
End Select
End Function
…………………………………………………………
También me funciona correctamente, pero tengo varias dudas que no sé como resolver y solo me lo pueden aclarar los que saben de esto, por eso le planteo las cuestiones, por si puede y tiene a bien ayudarme. Ya tengo solucionado pasar de números a texto con ambos códigos, pero ¿sería posible con alguno de estos dos códigos, hacer las variaciones oportunas para que igualmente al poner los textos se conviertan en números?, ¿podrían incluirse dos Textbox y un Botón o dos para trasladas de uno a otro según lo necesitemos?, y por último, Cuando utilizamos varias celdas que llevan textos y números ¿podría hacerse para que se concatenasen todas y salieran todo en un solo texto?.
Muchas gracias por anticipado por la ayuda que me puedan prestar, y en el caso en que no me lo puedan resolver, mis respetos y agradecimiento de igual forma.
Atte.,
Antonio.
mar 28, 2012 @ 10:23:06
Agradezco el articulo pero tuve problemas en el pto 2 donde dice “escribe el nombre y crear” que nombre? puse CONVIERTENUMLETRA y pude avanzar, pero en pto 4 buscar el fx no la encontre sl2
Oscar
mar 27, 2012 @ 14:14:24
Muchas gracias. Ya utilicé la función y si convierte las cantidades numéricas a texto.
mar 27, 2012 @ 13:18:27
En el 2010 no aparece la funcion CONVIERTENUMLETRA
mar 26, 2012 @ 10:51:46
hola
mar 26, 2012 @ 10:38:47
GRACIAS MUY BUENSA TU EXPLICACION ES DE MUCHA UTILIDAD AUNQUE CON UNOS PEQUEÑOS CAMBIOS PERO FUNCIONO A LA PERFECCION
mar 21, 2012 @ 09:32:12
GRACIAS ES DE MUCHA UTILIDAD!!!!
mar 21, 2012 @ 00:03:51
mira trate de isertar lo hice con loscodigos m aperece libroc1 conertir…. me marca error q puedo hacer para deshacer este macro que inserte mal, necesito volber insertar , te agrdeceria me ayudaras
mar 18, 2012 @ 10:30:05
Excelente aporte, muy practico y sencillo (de usar) lo demas mis respetos… gracias
mar 13, 2012 @ 18:58:15
Excelente me funciono muy bien
mar 12, 2012 @ 22:17:08
Excelente articulo me funciono de maravilla y a la primera.
mar 07, 2012 @ 12:50:35
gracias profe ya me aburri
mar 07, 2012 @ 12:46:01
si me funciono des pues de 1953 veses que intente
mar 07, 2012 @ 11:07:20
Funsiona perfecto para mi. saludos
mar 05, 2012 @ 14:11:23
emerit aprende de mi yo si pongo atencion soy genial y tu no :}
mar 05, 2012 @ 14:11:02
Daahh si funciona otra cosa es que no sirven jajaja Toño
mar 05, 2012 @ 14:08:30
profe no le aga caso a merit y a nestor y ayudeme usted mismo porfa y rapido
mar 05, 2012 @ 14:06:50
profe hágale caso a nestor jejeje
mar 05, 2012 @ 14:03:56
ayuden me a ser esto plis me da flojera aser lo por mi cuenta
mar 05, 2012 @ 14:02:46
no me funciona por que ni lo e intentado jejeje
mar 02, 2012 @ 08:40:25
Hola, en verdad fue de gran ayuda la información brindada por ud., solo quisiera que me ayudara en algo más, en mi país no utilizo la moneda en pesos, utilizamos Balboas o Dólares (esto es en Panamá). Cómo puedo cambiar el resultado letras a Balboas o Dólares.
Gracias y Saludos
José
mar 05, 2012 @ 14:02:02
Busca en el código donde dice PESOS y cámbialo por lo que gustes…
feb 29, 2012 @ 13:01:30
hola no me funciono profe mmmmm blablablablablabla
feb 29, 2012 @ 13:00:07
profe pongase a trabajar jejejeje
feb 23, 2012 @ 11:43:40
Algunos ejemplos:
71781322,75 SETENTA Y UN MILLONES SIETECIENTOS OCHENTA Y UN MIL TRESCIENTOS VEINTIDÓS PESOS CON 75 /100.-
63505948,91 sesenta y tres millones quinientos cinco mil novecientos cuarenta y ocho pesos con 91 /100.-
131442034,1 Ciento Treinta Y Un Millones Cuatrocientos Cuarenta Y Dos Mil Treinta Y Cuatro Pesos Con 11 /100.-
166616331,7 CIENTO SESENTA Y SEIS MILLONES SEISCIENTOS DIECISÉIS MIL TRESCIENTOS TREINTA Y UN
144416089,1 ciento cuarenta y cuatro millones cuatrocientos dieciséis mil ochenta y nueve
782845950,3 Sietecientos Ochenta Y Dos Millones Ochocientos Cuarenta Y Cinco Mil Novecientos Cincuenta
feb 23, 2012 @ 11:26:00
yo tengo una funcion similar pero que es recursiva y permite definir si el resultado es en MAYUSCULAS, minusculas o Solo La Primer Letra De Cada Palabra En Mayuscula, asi como definir el nombre de la moneda,si se visualiza o no y si se ven los centavos. por sia alguien le interesa
mar 03, 2012 @ 14:01:03
pasala pues
feb 18, 2012 @ 01:58:12
Hola esta buena la solucion solo que me da un pequeño error al poner la cifra 1000.00 UN MILUNO PESOS00/100 M.N.
Uso ecel 2003, saludos y gracias
feb 18, 2012 @ 08:09:54
Pepe:
Aquí encuentras la solución: http://grupoinformaticos.com.mx/vateos/2012/02/factura-cbb-2012-en-excel-sat/
feb 17, 2012 @ 10:24:08
Hola que tal, acabo de utilizar esta maravillosa macro muchas gracias.
feb 03, 2012 @ 09:40:38
el código es bueno pero hice todos los pasos pero no me ponía la cantidad con letra entre paréntesis.. me gustaria que aparecieran ( )
graicas.
feb 03, 2012 @ 09:48:08
Jessica:
En los comentarios pusieron una solución sencilla pero eficiente, de todas maneras en cuanto tenga el tiempo modificaré el código para que funcione de ambas maneras.
Ahora en la parte final del Post está otro código que un amable usuario nos proporcionó, este se maneja entre paréntesis.
Saludos.
ene 27, 2012 @ 19:56:44
ERES GRANDE, GRACIAS POR EL APORTE ME AYUDO A MEJORAR LA PRESENTACIÓN DE MIS FACTURAS
ene 27, 2012 @ 12:54:20
Excelente aporte, felicidades por ello
me funciono a la excelencia
gracias…………………………
ene 21, 2012 @ 11:53:55
El codigo para convertir en letra es bueno, me podriian ayudar a convertir unicamente en numero sin las palabras pesos y 00/100, de antemano muchas gracias
ene 18, 2012 @ 15:03:18
Hola me gustaria saber si hay forma de cambiar un texto a numeros y otro para revertirlo de tal manera de poder usar el sumar.si para unir un codigo numerico a una descripcion por ejemplo si tengo dos archivos que contienen elementos diferentes.
o si hay alguna forma de hacer que el sumar si funcione para texto ejemplo =sumar.si(A:A,L3,D:D) siendo D:D una lista de texto
ene 16, 2012 @ 21:14:59
funciona !
ene 16, 2012 @ 14:39:03
muchas graciias me funciona super bien ¡¡
graxxxxxxxxxx
ene 11, 2012 @ 18:43:59
woow, mil gracias por la macro, es bastante util, gracias
ene 04, 2012 @ 09:10:58
gracias por su aporte muy bueno
dic 21, 2011 @ 12:13:58
mil gracias !!! si sirve
nov 24, 2011 @ 10:44:14
Solo una palabra:
Excelente!
nov 23, 2011 @ 12:13:39
Hola que buen aporte ayudo bastante solo me gustaria saber si se podra en minusculas?? aun asi sirvio demasiado mas por las decimales gracias amigo
ene 04, 2012 @ 09:13:14
solo cambia mayusculas por minusculas en la formula ej. “UNO” por “Uno” ami me funciono
nov 22, 2011 @ 14:55:27
muy bien y importante que personas como ustedes colaboren con estas informaciones que en el momento son tan importantes, sigan agregando mas ayuda porque para mi en lo personal es de mucho provecho. gracias !!!!
nov 14, 2011 @ 15:13:04
hola muchas gracias por el aporte en la web solo pendejadas hay pero este aporte le doy un 10
nov 13, 2011 @ 10:42:29
Hola, buenas tardes, Ing. Reséndiz, realmente te felicito por este aporte, es muy interesante como programaste esto en Visual Basic.
Fijate que me gustaria utilizar la opcion de cambiar de Numeros a letras a traves de la pagina web siguiente: nosetup.org/php_on_line/numero_a_texto
Pero colocarlo en una pagina de excel que se actualice automaticamente desde internet,..
Realmente no se si es posible.
Por favor tu ayuda, en caso de que conozcas alguna forma de hacer esto.
Realmente agradezco mucho por tu tiempo.
Saludos,
oct 29, 2011 @ 06:37:41
hola, agradezco este aporte, muy bueno y me ha ayudado mucho, pero he notado que hay un error cuando se factura la cantidad de $1,000.00 por que en letras se pone un mil un pesos00/100, tiene otros detallitos pero creo que este es el más imprtante, ojala pudieran decirme como corrijo este problemita. mil gracias
oct 27, 2011 @ 12:31:13
muchas gracias, PATACULAR ME SALVO LA TARDE …:))) MUCHAS GRACIAS
oct 20, 2011 @ 00:22:19
muchisimas gracias por un gran aporte.. hice un cambio de “pesos” a “con” y “m.n” por “nuevos soles” y funciona perfectamente
tengo una pregunta lord of lords como hago para q las celdas q puse area de impresion no se separe en otras hojas por ejemplo en el modelo de factura tengo 3 areas
-area de articulos con sumas
-area datos de cliente y fecha
-area de total, subtoatal e igv
al enviar a imrimir sale cada uno en hoja separada por area como haria ya q hay areas de referencia
oct 19, 2011 @ 12:09:37
alguien tendra la funcion corregida con 1000000, 10000, etc?
oct 17, 2011 @ 18:45:55
Excelente!!!
Muchisimas gracias por compartir esta información con todos, de verdad se aprecia.
Me sirvió mucho, de nuevo Gracias.
oct 14, 2011 @ 08:21:48
o alguien puede decirme que hago???
oct 14, 2011 @ 08:17:25
buenos dias, me parece genial que haya esta formula para converti numeros a letras, pero no he podido utilizarla, hago todo el procedimiento y lo unico que me aparece en la cenda es la formula en lugar de la cantidad en letra, que puedo hacer o que estoy haciendo mal?. ya habilite las macros por que no me dejaba guardarlo pero aun asi me sigue apareciendo lo mismo. muchas gracias por tu ayuda, podrias responderme a mi correo por favor. mil gracias
oct 09, 2011 @ 20:26:57
EL MACRO ESTA EXCELENTE, TE FELICITO.
PERO FALTAN DOS COSAS LA PRIMERA ES QUE LA CANTIDAD NO APARECE ENTRE PARENTESIS; Y LA SEGUNDA EN QUE LA CANTIDAD DE “CERO PESOS”
SOLO APARECE “PESOS 00/100 M.N.”
MUCHAS GRACIAS
Y DE ANTEMANO ESPERO CON MUCHO ENTUSIASMO
TU RESPUESTA.
QUE DIOS TE BENDIGA MUCHO Y GRACIAS POR COMPARTIR TU SABIDURIA
oct 07, 2011 @ 21:22:40
GRACIAS TOTALES!!!
funcionó a la perfención las macros y la del Ing. Reséndiz la modifique y estoy usándola tanto en Dólares como en moneda local
Gracias a Uds.
Josh Santander
oct 05, 2011 @ 16:19:05
Muchas gracias por esta valiosa lección.
Intenté seguir los pasos para utilizar la función de convertir los números en letra, pero no lo logré.
Tengo instalada la versión “excel 2010″ y tal vez requiera de otro procedimiento.
PODRÍAN AYUDARME A HACERLO?
GRACIAS Y Dios les bendiga
Mario Verderi
oct 05, 2011 @ 14:06:39
¡¡¡¡ gracias a los que se quebraron la cabeza para realizar este programa… !!!! SALUDOS¡¡¡¡
oct 03, 2011 @ 21:29:06
suuuper esta genial y muy fácil tnks!
oct 03, 2011 @ 21:19:06
muchas gracias, al principio no entendia la manera de hacerlo pero resulto y pues mi agradecimiento por eso.
oct 03, 2011 @ 19:05:07
excelente aportacion funciona maravillosamente muchas gracias
oct 01, 2011 @ 13:36:54
Excelente aporte, se debe de apoyar a las personas que publican esto. Saludos!
oct 01, 2011 @ 07:51:58
hola que tal disculpen tengo una duda no se quien ´pueda ayudarme a resolver esta duda que tengo en excel
quisiera saber como puedo restar de mi factura lo que tengo en mi inventario por ejemplo si tengo en mi hoja de productos en existencia 50 pza y en mi hoja de factura vendo 3 pzas como lo puedo disminuir asi cada vez que venda algo automaticamente se disminuya de mi ivetario o de mi existenci en almacen automaticamente
por su ayuda muchas graxias…………………..
sep 27, 2011 @ 15:15:34
Excelente aportacion muchas gracias !!!
sep 26, 2011 @ 20:34:33
muy amable por compartir gracias!!!