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 hacerlo: http://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


Muchas gracias, soy Nydia de México, excelente aportación, sigo aprendiendo gracias a gente como tu, TU MUY BIEN¡¡¡¡¡
Hola Nydia: Con mucho gusto, me alegra que estés aprendiendo con nosotros. Muchas gracias por tus comentarios.
Saludos
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
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
hola juan camilo gracias por ayudarnos con tus video tutoriales me han ayudado mucho
pedro
Hola Pedro: Con mucho gusto, me alegra que estés aprendiendo. Gracias por tus comentarios.
Saludos
Muchas gracias, me funciono perfecto tratare de estar en contacto mas adelante
Hola Gilberto, con mucho gusto. Gracias por tus comentarios.
Saludos:)
Muchísimas gracias por esta instrucción, me sirvió muchísimo para la configuración una factura. Mil y mil gracias. Bendiciones.
Hola Luz Amanda, me alegra mucho que te haya servido. Gracias por tus comentarios y Bendiciones para ti y los tuyos.
Saludos:)
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.
Hola arq. Cruz, así es. Lo debes guardar como macro porque es una macro. Tiene código. Cualquier duda me cuentas.
Saludos!
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
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!
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
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!
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
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
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
Hola Yendyjm, te envié el código a tu email. Cualquier duda me cuentas. Gracias por tus comentarios.
Saludos!
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.
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!
hola excelente aporte, el detalle es que el código no se graba, si pudieras decirme como hacerlo te lo agradecería…
gracias anticipadas
Gracias mi hermano, Por este sitio Dios te Bendiga!! Me sirvio excelente por tu trabajo!!
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
Hola Sergio: Voy a revisar el módulo y te cuento. Gracias por comentar.
Saludos!
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
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!
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???
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!
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?
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!
Muchisismas Gracias por tu aportación!!!!!!!!!
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!!
Muy Practico gracias por compartir
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!!
muy importantes las clases tutoriales por que asi uno aprende rapido el manejo de excel como trabajar en excel-2 gracias
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!!