Cómo convertir números a letras en Excel

Excel cuenta con VBA ( Aplicaciones en Visual Basic ) lo que ayuda a programar rutinas o tareas repetitivas, entre muchas cosas más. Por ahora los dejo con un videotutorial que surgió por la consulta puntual de uno de nuestros seguidores. Espero les sea de utilidad.

Para que les quede guardada la macro y la puedan usar siempre, en este video explico cómo hacerlohttp://www.expertoenexcel.com/convertir-mayusculas-a-minusculas-en-excel-y-viceversa

Acá les agrego el código de VBA para que lo implementen*

* Este código es cortesía del Blog de Gonzalo_Conta

Les dejo el enlace para que descarguen el código:

>> http://bit.ly/Convertir-numeros-a-letras-en-excel

Related Posts Plugin for WordPress, Blogger...

,

38 Responses to Cómo convertir números a letras en Excel

  1. NYDIA marzo 24, 2012 at 2:53 pm #

    Muchas gracias, soy Nydia de México, excelente aportación, sigo aprendiendo gracias a gente como tu, TU MUY BIEN¡¡¡¡¡

    • Juan Camilo Alvarez marzo 24, 2012 at 9:36 pm #

      Hola Nydia: Con mucho gusto, me alegra que estés aprendiendo con nosotros. Muchas gracias por tus comentarios.

      Saludos :)

  2. Ricardo Padilla Lugo octubre 14, 2011 at 3:08 am #

    Excelente código me ayudaste mucho te felicito y te doy las gracias por el apoyo en esta página.

    Desde algún espacio del cyber espacio en México

    Saludos.

    Ricardo Padilla

    • Juan Camilo Alvarez octubre 14, 2011 at 12:24 pm #

      Hola Ricardo: Un placer tenerte por este blog, me alegra que te haya servido el código. Muchas gracias a ti por tus comentarios.

      Saludos :)

  3. Pedro septiembre 26, 2011 at 10:04 pm #

    hola juan camilo gracias por ayudarnos con tus video tutoriales me han ayudado mucho

    pedro

    • Juan Camilo Alvarez octubre 5, 2011 at 4:31 pm #

      Hola Pedro: Con mucho gusto, me alegra que estés aprendiendo. Gracias por tus comentarios.

      Saludos :)

  4. GILBERTO MENDEZ agosto 10, 2011 at 3:05 pm #

    Muchas gracias, me funciono perfecto tratare de estar en contacto mas adelante

    • Juan Camilo Alvarez septiembre 7, 2011 at 12:26 pm #

      Hola Gilberto, con mucho gusto. Gracias por tus comentarios.

      Saludos:)

      • Luz Amanda septiembre 9, 2011 at 12:00 pm #

        Muchísimas gracias por esta instrucción, me sirvió muchísimo para la configuración una factura. Mil y mil gracias. Bendiciones.

        • Juan Camilo Alvarez septiembre 10, 2011 at 10:06 pm #

          Hola Luz Amanda, me alegra mucho que te haya servido. Gracias por tus comentarios y Bendiciones para ti y los tuyos.

          Saludos:)

  5. arq. cruz remigio mayo 20, 2011 at 2:23 pm #

    si me sirvio el codigo de hecho le cambie la moneda “C.O.” a “M.N”; pero al guadar el archivo solo me lo permite guardar como “libro de excel habilitado para macros” tengo el office 2007.

    • Juan Camilo Alvarez mayo 23, 2011 at 11:43 am #

      Hola arq. Cruz, así es. Lo debes guardar como macro porque es una macro. Tiene código. Cualquier duda me cuentas.

      Saludos!

  6. Iván Gómez Ruíz abril 5, 2011 at 6:14 pm #

    Disculpame es que no me supe explicar bien lo que no sale son los 19/100 , me sale 00/100 y el valor que estoy poniendo es de 1263,19 osea la formula me esta omitiendo los 19, muchas gracias

    • Juan Camilo Alvarez abril 5, 2011 at 7:24 pm #

      Te voy a enviar el archivo del ejemplo para que lo mires. Debido a tu pregunta lo revisé y funciona perfecto. Con el archivo original puedes mirar a ver que estás omitiendo. Descarga el archivo desde aquí: >> http://bit.ly/fUaPcL Como es una macro le debes dar clic en Habilitar contenido.

      Espero te sirva.

      Saludos!

  7. Iván Gómez Ruíz abril 5, 2011 at 4:35 pm #

    Hola muchas gracias por esta informacion, funciona muy bien, solo ocupo que me ayudes si eres tan amable con un detalle no me sale los numeros despues de la coma, osea 1263,19 el 19/100 me ayudas por favor

    • Juan Camilo Alvarez abril 5, 2011 at 4:54 pm #

      Hola Iván: Si salen, cuando colocas en la columna número 1263,19 el resultado que te aparece en la columna valor en letras es este: SON: (UN MIL DOSCIENTOS SESENTA Y TRES PESOS 19/100 C.O.) 19/100 se refiere al valor que hay después de la coma debido a que esos son los centavos. Si colocas un valor entero, verás que al final te aparecerá 00/100. Es decir, cero centavos. Cualquier duda adicional con gusto.

      Muchas gracias por tus comentarios.

      Saludos!

  8. yendyjm marzo 18, 2011 at 9:39 pm #

    buenas noche Googleando di con otro codigo con lo que yo requiero pero esta escrito de otra manera de antemano espero que sirva para otros como yo que necesitan esa exprecion slds y gracias

    Function num_letras(Numero As Double) As String
    Dim Letras As String
    Dim HuboCentavos As Boolean
    Dim Decimales As Double
    Decimales = Numero – Int(Numero)
    Numero = Int(Numero)
    Dim Numeros(90) As String
    Numeros(0) = “CERO”
    Numeros(1) = “UNO”
    Numeros(2) = “DOS”
    Numeros(3) = “TRES”
    Numeros(4) = “CUATRO”
    Numeros(5) = “CINCO”
    Numeros(6) = “SEIS”
    Numeros(7) = “SIETE”
    Numeros(8) = “OCHO”
    Numeros(9) = “NUEVE”
    Numeros(10) = “DIEZ”
    Numeros(11) = “ONCE”
    Numeros(12) = “DOCE”
    Numeros(13) = “TRECE”
    Numeros(14) = “CATORCE”
    Numeros(15) = “QUINCE”
    Numeros(20) = “VEINTE”
    Numeros(30) = “TREINTA”
    Numeros(40) = “CUARENTA”
    Numeros(50) = “CINQUENTA
    Numeros(60) = “SESENTA”
    Numeros(70) = “SETENTA”
    Numeros(80) = “OCHENTA”
    Numeros(90) = “NOVENTA”
    Do
    ‘*—> Centenas de Millón
    If (Numero = 100000000) Then
    If (Int(Numero / 100000000) = 1) And ((Numero – (Int(Numero / 100000000) * 100000000)) < 1000000) Then
    Letras = Letras & "CIEN MILLONES "
    Else
    Select Case Int(Numero / 100000000)
    Case 1
    Letras = Letras & "CIENTO"
    Case 5
    Letras = Letras & "QUINIENTOS"
    Case 7
    Letras = Letras & "SETECIENTOS"
    Case 9
    Letras = Letras & "NOVECIENTOS"
    Case Else
    Letras = Letras & Numeros(Int(Numero / 100000000))
    End Select
    If (Int(Numero / 100000000) 1) And (Int(Numero / 100000000) 5) And (Int(Numero / 100000000) 7) And (Int(Numero / 100000000) 9) Then
    Letras = Letras & “CIENTOS ”
    Else
    Letras = Letras & ” ”
    End If
    End If
    Numero = Numero – (Int(Numero / 100000000) * 100000000)
    End If
    ‘*—> Decenas de Millón
    If (Numero = 10000000) Then
    If Int(Numero / 1000000) 1000000 Then
    Letras = Letras & ” Y ”
    End If
    End If
    End If
    ‘*—> Unidades de Millón
    If (Numero = 1000000) Then
    If Int(Numero / 1000000) = 1 Then
    Letras = Letras & ” UN MILLON ”
    Else
    Letras = Letras & Numeros(Int(Numero / 1000000))
    Letras = Letras & ” MILLONES ”
    End If
    Numero = Numero – (Int(Numero / 1000000) * 1000000)
    End If
    ‘*—> Centenas de Millar
    If (Numero = 100000) Then
    If (Int(Numero / 100000) = 1) And ((Numero – (Int(Numero / 100000) * 100000)) < 1000) Then
    Letras = Letras & "CIEN MIL "
    Else
    Select Case Int(Numero / 100000)
    Case 1
    Letras = Letras & "CIENTO"
    Case 5
    Letras = Letras & "QUINIENTOS"
    Case 7
    Letras = Letras & "SETECIENTOS"
    Case 9
    Letras = Letras & "NOVECIENTOS"
    Case Else
    Letras = Letras & Numeros(Int(Numero / 100000))
    End Select
    If (Int(Numero / 100000) 1) And (Int(Numero / 100000) 5) And (Int(Numero / 100000) 7) And (Int(Numero / 100000) 9) Then
    Letras = Letras & “CIENTOS ”
    Else
    Letras = Letras & ” ”
    End If
    End If
    Numero = Numero – (Int(Numero / 100000) * 100000)
    End If
    ‘*—> Decenas de Millar
    If (Numero = 10000) Then
    If Int(Numero / 1000) 1000 Then
    Letras = Letras & ” Y”
    Else
    Letras = Letras & ” MIL ”
    End If
    End If
    End If
    ‘*—> Unidades de Millar
    If (Numero = 1000) Then
    If Int(Numero / 1000) = 1 Then
    Letras = Letras & “UN”
    Else
    Letras = Letras & Numeros(Int(Numero / 1000))
    End If
    Letras = Letras & ” MIL ”
    Numero = Numero – (Int(Numero / 1000) * 1000)
    End If
    ‘*—> Centenas
    If (Numero 99) Then
    If (Int(Numero / 100) = 1) And ((Numero – (Int(Numero / 100) * 100)) < 1) Then
    Letras = Letras & "CIEN "
    Else
    Select Case Int(Numero / 100)
    Case 1
    Letras = Letras & "CIENTO"
    Case 5
    Letras = Letras & "QUINIENTOS"
    Case 7
    Letras = Letras & "SETECIENTOS"
    Case 9
    Letras = Letras & "NOVECIENTOS"
    Case Else
    Letras = Letras & Numeros(Int(Numero / 100))
    End Select
    If (Int(Numero / 100) 1) And (Int(Numero / 100) 5) And (Int(Numero / 100) 7) And (Int(Numero / 100) 9) Then
    Letras = Letras & “CIENTOS ”
    Else
    Letras = Letras & ” ”
    End If
    End If
    Numero = Numero – (Int(Numero / 100) * 100)
    End If
    ‘*—> Decenas
    If (Numero 9) Then
    If Numero 0.99 Then
    Letras = Letras & ” Y ”
    End If
    End If
    End If
    ‘*—> Unidades
    If (Numero 0.99) Then
    Letras = Letras & Numeros(Int(Numero))
    Numero = Numero – Int(Numero)
    End If
    Loop Until (Numero = 0)
    ‘*—> Decimales
    If (Decimales > 0) Then
    Letras = Letras & ” CON ”
    Letras = Letras & Format(Decimales * 100, “00″) & “/100 centavos”
    End If
    num_letras = Letras
    End Function

  9. yendyjm marzo 18, 2011 at 1:58 pm #

    Gracias Juan Camilo Alvarez por le codigo esta bien funciona no tiene errores pero mi peticion si es que se puede es esta claro no me explique bien o me confundi ejemplo1:SON: (SEIS MIL SESENTA Y CUATRO PESOS 68/100 C.O.) este es el codigo original tal cual como esta no ok ejemplo2:SON: SEIS MIL SESENTA Y CUATRO CON 68/100 asi es como se usa en los presupuestos, facturas, y en el llenado de los cheques en venezuela esta es en si mi peticion si se puede adaptar el codigo que funciona de mil maravillas pero sin las comillas y el con antes de los centimos como el ejemplo2 slds y gracias por esponder rapido

  10. yendyjm marzo 17, 2011 at 2:16 pm #

    muy bueno el codigo lo probe y me sirve para realizar el llenado de cheques y presupuestos pero necesito que me ayuden soy de Venezuela y mi peticion es saber si el codigo se puede modificar ejemplo del codigo: SON: (SEIS MIL SESENTA Y CUATRO PESOS 68/100 C.O.) este es de pesos Colombianos el original pero aqui en Venezuela el llenado de cheque o presupuesto o factura se usa es asi ejemplo2: SON: SEIS MIL SESENTA Y CUATRO CON 68/100 si es posible de modificar se los agradeceria o postear el codigo slds de Venezuela

    • Juan Camilo Alvarez marzo 18, 2011 at 9:45 am #

      Hola Yendyjm, te envié el código a tu email. Cualquier duda me cuentas. Gracias por tus comentarios.

      Saludos!

  11. Leonardo Olaya marzo 7, 2011 at 9:59 pm #

    Muy bueno tu aporte, pero tengo un problema cuando paso a miles de millones, estos miles de millones no me los convierte, por ejemplo en 1.234.567.890 me convierte DOSCIENTOS TREINTA Y CUATRO MILLONES QUINIENTOS SESENTA Y SIETE MIL OCHOCIENTOS NOVENTA, no me convierte las cantidades de miles de millones, que debo hacer en este caso, te agradezco cualquier ayuda.

    • Juan Camilo Alvarez marzo 9, 2011 at 1:36 pm #

      Hola Leonardo…

      Esto tiene que ver con el código, sólo está programado para que maneje miles. Lo voy a mirar y le agrego lo que falta para que te sirva en lo que tú necesitas. Apenas lo tenga listo te lo envío. Gracias por tus comentarios.

      Saludos!

  12. GUSTAVO febrero 3, 2011 at 2:06 pm #

    hola excelente aporte, el detalle es que el código no se graba, si pudieras decirme como hacerlo te lo agradecería…
    gracias anticipadas

  13. Jose Flores enero 24, 2011 at 5:07 pm #

    Gracias mi hermano, Por este sitio Dios te Bendiga!! Me sirvio excelente por tu trabajo!!

  14. Sergio diciembre 29, 2010 at 8:17 am #

    Buenos días, super bueno el video de convertir numeros a letras, pero como puedo guardar esto para que me funcione siempre y no tenga que etar colocando el módulo.

    Muchas gracias y felicitaciones por esta página

    • ExcelCoach enero 12, 2011 at 12:01 pm #

      Hola Sergio: Voy a revisar el módulo y te cuento. Gracias por comentar.

      Saludos!

  15. Jorge Barría noviembre 30, 2010 at 4:07 pm #

    Estimado Juan Camilo, quiero dar mis felicitaciones por sus aportes, pero tengo un problema, yo trabajo con notas o calificaciones en una escala de 1 a 7 con un decimal, ejemplo un alumno puede obtener un 6,5 pero este valor lo quiero en palabras que deberia decir “seis coma cinco”, mi pregunta ¿Cuál es la formula adecuada para que que me funcione de esta forma?
    Muy agradecido.
    Ojala puedas ayudarme, saludos

    • ExcelCoach diciembre 4, 2010 at 10:21 pm #

      Hola Jorge: Esto se debe trabajar con Función Condicional SI. Voy a hacer un tutorial explicando el tema y te lo hago llegar. Gracias por tus comentarios.

      Saludos!

  16. Ruben noviembre 23, 2010 at 2:45 pm #

    Estimado Juan Camilo, quiero dar mis felicitaciones por sus aportes, pero tengo un problema, yo trabajo con notas o calificaciones en una escala de 1 a 7 con un decimal, ejemplo un alumno puede obtener un 6,5 pero este valor lo quiero en palabras que deberia decir “seis coma cinco”, mi pregunta ¿como puedo modificar el codigo o macro para que me funfione de esta forma, solo he logrado que me diga “seis coma 50″, le agradeceria mucho si puede ayudarme, saludos

    yo necesito esto: 6,5 “seis coma cinco”
    he logrado esto : 6,5 “seis coma 50″

    que me falta???

    • ExcelCoach noviembre 24, 2010 at 9:42 am #

      Hola Ruben. Podrías enviarme un ejemplo del archivo que estás utilizando. Viéndolo podría asesorarte mejor, debido a que puede haber múltiples opciones y la idea es dar con la que te sirva a ti. Gracias por tus comentarios acerca de este espacio.

      Espero tu respuesta.

      Saludos!

  17. Luis Rdz. noviembre 10, 2010 at 6:22 pm #

    Una pregunta, cada vez que se abra el libro de trabajo, se tiene que estar importando el modulo?, o existe la manera de hacerlo automaticamente?

    • ExcelCoach noviembre 11, 2010 at 1:21 pm #

      Hola Luis: El módulo queda guardado en tu libro de trabajo. Cada que lo abras está listo. Si tienes alguna duda adicional me cuentas para colaborarte. Gracias por participar.

      Saludos!

  18. Ricardo octubre 4, 2010 at 6:23 pm #

    Muchisismas Gracias por tu aportación!!!!!!!!!

    • ExcelCoach octubre 10, 2010 at 7:21 pm #

      Hola Ricardo. De nada amigo, lo hago con mucho gusto. Me alegra que te haya servido la información. Cualquier duda que tengas por favor me lo haces saber. Gracias por tus comentarios.

      Saludos!!

  19. ROMEL agosto 16, 2010 at 12:52 pm #

    Muy Practico gracias por compartir

    • ExcelCoach agosto 18, 2010 at 10:25 am #

      Hola Romel, bienvenido a ExpertoenExcel.Com, espero que aprendas mucho con nosotros. Cualquier duda que tengas, pregunta con tranquilidad, siempre habrá disposición para ayudar. Gracias por tus comentarios.

      Saludos!!

  20. DIDIER TORO RIVERA abril 2, 2010 at 2:05 pm #

    muy importantes las clases tutoriales por que asi uno aprende rapido el manejo de excel como trabajar en excel-2 gracias

    • Juan Camilo Alvarez abril 3, 2010 at 5:35 pm #

      Hola Didier… Me alegra mucho que te sirva el material que publicamos. La intención es que las personas aprendan fácil y sin presiones. Muchas gracias por tus comentarios.

      Saludos!!