Había una utilidad que complementaba a Excel en ese sentido, pero que presentaba ciertos problemas de incompatibilidad y era dificil de conseguir para lo cual decidí buscar en la red algo que solventara dicha situación, encontrando afortunadamente una función llamada "Pesos" hecha por alguien más, la cual me permitía pasar de números a letras cualquier cantidad.
Esta función es muy útil ya que nos permite usarla en muchas situaciones cotidianas, y además no requiere mayor conocimiento de su uso, si usted anteriormente ya ha usado otras funciones incorporadas en Excel.
Todo lo que tienes que hacer es pegar el siguiente código en un Módulo nuevo ya sea en el libro de macros Personal, o en el libro en el cual estés trabajando. Si no sabes como hacerlo, puedes leer este artículo que escribí anteriormente el cual explica como crearlo.
------------ INICIO DE LA FUNCION PESOS-----------------------------------
'Function Pesos(Number As Single) As String
'Comentado el 27/10/2008: La siguiente línea corrige el error de los decimales
'en cantidades grandes, gracias a Any por la corrección.
Function Pesos(Number As Double) As String
Const MinNum = 1#
Const MaxNum = 4294967295.99
Dim Numbers, Tenths, Result As String
Numbers = Array("CERO", "UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE", "OCHO", "NUEVE", "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", "DIECIOCHO", "DIECINUEVE")
Tenths = Array("CERO", "DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA", "SESENTA", "SETENTA", "OCHENTA", "NOVENTA")
If (Number >= MinNum) And (Number <= MaxNum) Then
Result = RecurseNumber((Fix(Number)))
If Round((Number - Fix(Number)) * 100) < 10 Then
Result = Result + " 0" + Mid(Str(Round((Number - Fix(Number)) * 100)), 2, 1) + "/100 DOLARES"
Else
Result = Result + " " + Str(Round((Number - Fix(Number)) * 100)) + "/100 DOLARES"
End If
Else
Result = "Error, verifique la cantidad."
End If
Pesos = Result
End Function
Function RecurseNumber(N As Long) As String
Dim Numbers, Tenths
Numbers = Array("CERO", "UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE", "OCHO", "NUEVE", "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", "DIECIOCHO", "DIECINUEVE")
Tenths = Array("CERO", "DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA", "SESENTA", "SETENTA", "OCHENTA", "NOVENTA")
Hundrens = Array("CERO", "CIENTO", "DOSCIENTOS", "TRESCIENTOS", "CUATROCIENTOS", "QUINIENTOS", "SEISCIENTOS", "SETECIENTOS", "OCHOCIENTOS", "NOVECIENTOS")
Dim Result As String
Select Case N
Case 0
Result = ""
Case 1 To 19
Result = Numbers(N)
Case 20 To 99
If N Mod 10 <> 0 Then
Result = Tenths(N \ 10) + " Y " + RecurseNumber(N Mod 10)
Else
Result = Tenths(N \ 10) + " " + RecurseNumber(N Mod 10)
End If
Case 100 To 999
If N \ 100 = 1 Then
If N = 100 Then
Result = "CIEN" + " " + RecurseNumber(N Mod 100)
Else
Result = Hundrens(N \ 100) + " " + RecurseNumber(N Mod 100)
End If
Else
Result = Hundrens(N \ 100) + " " + RecurseNumber(N Mod 100)
End If
Case 1000 To 999999
Result = RecurseNumber(N \ 1000) + " MIL " + RecurseNumber(N Mod 1000)
Case 1000000 To 1999999
Result = RecurseNumber(N \ 1000000) + " MILLON " + RecurseNumber(N Mod 1000000)
Case 2000000 To 999999999
Result = RecurseNumber(N \ 1000000) + " MILLONES " + RecurseNumber(N Mod 1000000)
Case 1000000000 To 4294967295#
Result = RecurseNumber(N \ 1000000000) + " BILLONES " + RecurseNumber(N Mod 1000000000)
End Select
RecurseNumber = Result
End Function
'========== FIN DE LA FUNCION PESOS ============
Para usarlo es = que una funcion de excel, ejemplo:
=pesos(suma(a1:a15))
=pesos(total)
Para poder usarla solo tienes que poner, por ejemplo, lo que anteriormente se menciona, aunque en mi caso, yo siempre guardo las macros, métodos y funciones en el Libro de Macros Personal de Excel, para poder llevarme mis funciones a cualquier máquina en la cual me toque trabajar, y no se me genere ningún error de esos comunes que dicen que si desea actualizar los vínculos, o que la celda contiene referencias a información que no existe, etc.
Así uso yo la función (suponiendo que esta formula la escribo en la celda B1:
=personal.xls!pesos(A1)
En la celda A1 se colocan los números y en la celda B1 aparecerá ese número escrito en letras. Gráficamente se vería como la imagen mostrada arriba.
Cabe destacar algo importante sobre el nivel de seguridad de Excel con respecto a las macros. Si usted guarda este código en el libro en el cual esté trabajando, la próxima vez que usted abra dicho libro Excel le advertirá que se han deshabilitado las macros de este libro debido al nivel de seguridad predeterminado, lo cual lo obligará a usted a cambiar el nivel de seguridad de las macros de Excel a un nivel bajo, para efectos de poder ejecutar dicha macro y volver a abrir el libro de nuevo para que la función sea funcional.
Para evitar esta situación es recomendable que usted guarde sus Módulos, funciones, Métodos, Macros y etc, en el libro de macros PERSONAL y llamar a la función de conversión de números a letras como se muestra anteriormente, =personal.xls!pesos.....
Hola, he visto tu web y quiero proponerte un intercambio de links, si te interesa visita http://tecnouy.blogspot.com es un blog muy nuevo creado en Uruguay que trata temas de tecnología e informática.
ResponderEliminarSaludos y espero tu respuesta.
Gracias, ya estas agregado a mis sitios amigos.
ResponderEliminarUn saludo desde Uruguay
mira fijate que estube probando tu aplicacion y si me funciono solo tengo una duda queria saber para ponerla en una funcion fija en mi microsoft excel como la funcion suma cualseri el procedimiento ya que lo probe usar en otra hoja pero nome parece...como funcion,...
ResponderEliminarOye andy00, lo que te recomiendo es que sigas el mismo procedimiento pero guardes todo el código anterior en el libro de macros PERSONAL.XLS, el cual podrás ver en el Editor de Visual Basic de Excel. Te aclaro que si no ves el libro de macros PERSONAL.XLS prueba crear una macro cualquiera y dile que quieres guardar esa macro en el libro personal, luego se enviará un mensaje que te dirá que la macro ha sido guardado en el libro de macros personal y que ese libro estará presente aunque no lo veas, cada vez que abrás Excel, y cada vez que quieras usar cualquier función como esta. Espero te sirva esta ayuda.
ResponderEliminarLa formula funciona perfectamente pero solamente con numeros hasta el 9.999.999... de ahi en adelante presenta problemas en la conversion de los ultimos numeros. En el codigo debe haber algo que pueda modificar estos rangos.
ResponderEliminarTodo esta perfecto amigo, pero me aparece en dolares como puedo hacerlo pero en pesos
ResponderEliminarSaludos y disculpa mi ignorancia
Solo busca la primera linea que dice "Result... " y hasta el final de esa linea quita lo que dice DOLARES y ponle lo que tu quieras Hector.
ResponderEliminarhola, me gusto mucho y me es de utilidad tu codigo solo quisiera saber como le hago para que aparezca de esta forma pesos 00/100 M.N. Sorry lo desconozco
ResponderEliminarHola, como puedo hacer que la macro funcione en otro archivo, ya intente y no encuentro como.
ResponderEliminarGracias y saludos
busca estas lineas y sustituyela, asi ya aparece de esta forma PESOS 00/100 M.N.)
ResponderEliminarResult = Result + " PESOS 0" + Mid(Str(Round((Number - Fix(Number)) * 100)), 2, 1) + "/100 M.N.)"
Else
Result = Result + " PESOS " + Str(Round((Number - Fix(Number)) * 100)) + "/100 M.N.)"
Espero y les sea de Utilidad.
Gracias
Busca estas lineas:
ResponderEliminarResult = Result + " 0" + Mid(Str(Round((Number - Fix(Number)) * 100)), 2, 1) + "/100 DOLARES"
Else
Result = Result + " " + Str(Round((Number - Fix(Number)) * 100)) + "/100 DOLARES"
End If
y sustituyela por estas:
Result = Result + †PESOS 0″ + Mid(Str(Round((Number - Fix(Number)) * 100)), 2, 1) + “/100 M.N.)â€
Else
Result = Result + †PESOS †+ Str(Round((Number - Fix(Number)) * 100)) + “/100 M.N.)â€
asi esta mas claro, ya te aparecera PESOS 00/100 M.N.
1,3 6 7 5 2,4
ResponderEliminaruuuuuh agreguenmeeen!! TUPRINCESITA_LA86
ResponderEliminarHola a todos, gracias por sus comentarios.
ResponderEliminar- Maria: Victor te ha dado la respuesta a tu pregunta.
- Victor: lo que tienes que hacer es guardar la macro no en el libro donde estás trabajando sino en el libro de macros PERSONAL.XLS, que se abre de manera oculta cada vez que abres Excel. En uno de mis artículos he escrito algo sobre esta situación de las macros, busca el tema en la categoría OfficeTips y trata de crear un Módulo nuevo en ese libro en donde deberás pegar el código de este articulo y verás que lo podrás ejecutar en cualquier libro que quieras siempre y cuando sea en la misma máquina en donde trabajas, de lo contrario tendrás que hacer el mismo procedimiento si decides usar otras PC's.
Saludos y espero que todo les salga bien.
GRACIAS VICTOR Y PARA TU PROBLEMA SOLO DEBES GUARDAR TU MACRO EN PERSONAL COMO TE DICE MARIO ENTONCES EN EL ARCHIVO QUE LO NECESITES LO LLAMARAS EN FX(INSERTAR FUNCION) Y ESCOGES DEFINIDAS X EL USUARIO Y APARECERA LO QUE CREASTE, ESPERO TE SIRVA.
ResponderEliminarYO TENGO OTRA DUDA COMO PUEDO CORREGIR ESTO SI TENGO $500 APARECE CUATROCIENTOS NOVENTA Y NUEVE PESOS 100/100 M.N
GRACIAS X SUS CONSEJOS X CIERTO MUY UTILES
GRACIAS MARIA, CON RESPECTO A TU PROBLEMA, NECESITARIAMOS SABER EL ORIGEN DE TUS DATOS, PORQUE AL PONER 500.00 MANUALMENTE EN UNA CELDA, APARECE BIEN (QUINIENTOS PESOS 00/100 M.N.), A MENOS QUE LA CANTIDAD (500.00) PROVENGA DE O SEA EL RESULTADO DE ALGUNA OPERACION O SE PROVENGA DE DATOS EXTERNOS. SI ES, ASI NECESITARIAMOS TODOS LOS DETALLES, PARA PODER AYUDARTE EN ALGO.
ResponderEliminarSI TIENES TODA LA RAZON VICTOR, LO QUE PASA ES QUE MIS DATOS PROVIENEN DE UNA SUMA ENTONCES COMO NO ES UNA CANTIDAD CERRADA NO ME SALE X EJEMPLO 499.99999
ResponderEliminarPienso que podria ser posible usar también la función REDONDEAR(Celda, Nº) para ver si se puede resolver esta cuestión. A menudo yo suelo usar esa función.
ResponderEliminarque tal
ResponderEliminarvi tu email buscado en internet una utilidad, programa o macra para convertir las cantidades en monedas de excel a letras, ojalá me lo puedas facilitar, saludos y gracias.
Hola felipe, solo tienes que crear la macro y poner el codigo que esta en la parte de arriba de este foro y listo.
ResponderEliminarEspero te sea de utilidad mi comentario, si no a lo mejor te podemos ayudar de otra manera, solo tienes que decirlo.
A lo mejor un videito flash para que vea felipe.
ResponderEliminarPero voy a necesitar un programilla.
Hay un programa que te graba todo lo que haces en la computadora, deja conseguir el nombre y el enlace para descargarlo y te aviso.
ResponderEliminarPuedes descargar un capturador de video para grabar en formato avi los paso para crear la macro para que felipe vea, en este link http://my-screen-recorder.archivospc.com/ puedes descargar este programa, es una version de prueba, pero bien y te puede servir, yo lo probe y al parecer es bueno.
ResponderEliminarSaludos........
Gracias Vicktor001, lo tomaré en cuenta.
ResponderEliminarMario, donde puedo poner un nuevo tema? porque tengo un problemilla que no se como solucionar, ya le busque de muchas maneras y nada. es el siguiente: A convinar datos de una hoja de excel a word. resulta que tengo un archivo en word del que jalo datos de una base capturada en excel, es en cuanto a fecha, por ej. en excel tengo el formato de fecha 15/08/2007 y ese dato quisiera presentarlo en word 15 de agosto de 2007, aunque en excel le modifique el formato, no me lo respeta me lo deja en el formato 15/08/2007. ojala pudieras ayudarme. Gracias.
ResponderEliminarVeré que puedo hacer vicktor001.
ResponderEliminarHOLA MI PREGUNTA ES PORQUE CUANDO NO HAY DECIMALES ME APARECE ASI 100/100 M.N.) Y CUANDO LAS HAY SI APARECE BIEN
ResponderEliminarHola Ismael, hice varias pruebas con numeros con y sin decimales y los convierte bien, habra mas detalles de tus numero a convertir? seria buenos saberlo.
ResponderEliminarNO HAY MAS SOLO ESAS, LAS CANTIDADES SALEN CORRECTAS A Y OTRA COSA HE NOTADO QUE SALEN LAS CANTIDADES SIN EL PARENTESIS DEL PRINCIPIO CUANDO SE INICIA LA CANTIDAD CON LETRA ME PODRIAS MANDAR TU FORMULA PARA SABER COMO VA CORRECTAMENTE SALUDOS
ResponderEliminarSi pudieran publicar al menos la parte del código que han modificado sería bueno, porque muchas veces no podemos adivinar lo que han hecho para darles una respuesta correcta.
ResponderEliminarSaludos.
ResponderEliminarSi me funciono, en windows xp Pero lo quise usar en windows vista y no me puso nada
Hola a todos
ResponderEliminarhe probado la formula y con valores en moneda funciona bien
pero necesito convertir valores como "2,5", donde el entero y el decima aparezcan con letras "Dos coma Cinco"; pero no he podido modificar la macro, por favor solicito ayuda urgente
agradecido desde Chile.
Buen Día
ResponderEliminarMe puedes indicar como puedo utilizar en excel ya que deseo convertir de una celda de números a letras, pero nosé exactamente que hacer con la funsiòn que mencionas
Saludos
Atte: Adolfo Jr.
Lee el articulo que dice en este mismo post, para que entiendes a que se refiere. En resumen, tiene que abrir el editor de Visual Basic de Excel y pegar el código en un módulo del libro donde estás trabajando.
ResponderEliminarExcelente tu articulo, solo tengo un problema ya que al convertir la cantidad deja pegada la ultima cantidad con la palabra pesos, ejemplo: noventa y nuevepesos 00/100 m.n., me podrias decir como corrijo este error.
ResponderEliminargracias.
Oye Pedro Paramo. podrías ser tan amable de poner la línea de código que has modificado para ver donde está el error?
ResponderEliminarPRIMERO QUE NADA, MUCHAS GRACIAS.
ResponderEliminarLO QUE ME GUSTARIA QUE EN LUGAR DE DOLARES QUEDARA M.N. (MONEDA NACIONAL).
ESPERO ME AYUDES.
SALUDOS..
MARIO.
ResponderEliminarYA CAMBIE LOS DOLARES POR M.N., TENGO OTRA CONSULTA. PARA $ 3,500.00 SE ESCRIBIRIA
TRES MIL QUINIENTOS PESOS 00/100 M.N.- LO QUE NO PUEDO PONER EL LA PALABRA PESOS. COMO LE HAGO.
GERARDO Trabajaré en ello y luego te doy una respuesta.
ResponderEliminarGerardo, en la parte de arriba hay un ejemplo de como poner la palabra pesos, checala, haz el cambio y nos cuentas........
ResponderEliminarEs el comentario 10 y 11. Gracias Victor.
ResponderEliminarVictor la ultima vez comentabas sobre trabajar con dos archivos, uno de Excel y otro de Word y que los datos cambiaban de alguna manera, me pregunto si podrías enviarme un par de esos archivos con datos de ejemplo para ver el comportamiento de lo que me dices y ver si te puedo ayudar. Mi correo es correo1503[at]gmail[punto]com
bueno y clarito el tema, pero
ResponderEliminarsiguiendo el ejemplo de arriba :
$ 500
necesito que me aparezca solo :
CUATROCIENTOS NOVENTA Y NUEVE PESOS
Como lo ago ??
nesecito escribir en letras el siguiente numero
ResponderEliminar25.850.431.005.879
HOLA ERWIN, NO ENTENDI,
ResponderEliminarQUIERES QUE TE APAREZCA LA CANTIDAD SIN EL DATO "00/100 M.N. ?" O QUE ES LO QUE NECESITAS?
PODRIAS EXPLICARLO MAS A DETALLE PARA PODER AYUDARTE.....
SALUDOS
MARIO....
ResponderEliminarMUY AGRADECIDO POR ESTE FORO...UN MONTON DE DUDAS Y PROBLEMAS HE SOLUCIONADO...LLEVO POCO TIEMPO DANDOLE COMO TARRO AL EXCELL Y ME HA AYUDADO MUCHO...SIGO BUSCANDO TRUCOS Y FORMULAS...ESTARE PENDIENTE POR SI PUEDO AYUDAR EN ALGO..
UN AMIGO..
Gracias por su apoyo.
ResponderEliminarPues a mi no me anda, hago todo tal cual y me dice
ResponderEliminarERROR DE COMPILACION
y marca esta fila
Function Aletra(Rcantidad As Double) As String
Alguna idea??
PERDOOOONNNNNNNNN
ResponderEliminarAHORA SIIIIII!!!!!!!!!!!!!!!!!!!
GENIOOO!!!!!!!!!!!
tambien con el 21, 22, 23
ResponderEliminarVEINTE Y UNO DEBERIA DER VEINTIUNO
Ahora mirando bien, en los numeros 21.000, 22.000 etx, aparece como VEINTE Y 1, VEINTE Y DOS, cuando deberia ser VEINTIUN MIL, VEINTIDOS MIL, etc.
ResponderEliminarGracias Mario, ya corregi el error, ademas efectue algunos cambios para que me apareciera despues de la cantidad en letra la leyenda pesos 00/100 m.n.
ResponderEliminarGracias nuevamente por tu formidable herramienta.
Hola, he intentado hacerlo pero al poner la función en la celda, me sale un error: COMPILE ERROR: Ambiguous name detected:pesos; qué podrá ser?
ResponderEliminarTengo el mismo inconveniente que Leandro... el 21 me sale "Vente y un" cuando deberia ser "ventiuno".
ResponderEliminarLo mismo con las terminaciones en uno, 51 aparece "cincuenta y un" y yo necesito "cincuenta y uno".
Pense en modificar los valores de "numbers" y "tenths" pero si hago eso el numero 1000 me va a aparecer "uno mil" en vez de "un mil".
Como se podrian insertar condicionantes para estos casos?.
Saludos.
hola mario
ResponderEliminarme parece muy interesante tu block. y me gustaria saber si este codigo tambien se puede colocar en Acces. y donde lo pegaria.
Me podrias Ayudar?
Gracias
En access no estoy seguro Dublin.
ResponderEliminarPara el problema de los ventiuno y demas agregue lo siguiente
ResponderEliminarCase 21 To 29
Result = "VEINTI" + RecurseNumber(N Mod 10)
y modifique el case de 20 hasta 99 asi
Case 20, 30 To 99
Espero les sirva
Excelente respuesta juan, muchas gracias.
ResponderEliminarhola yo tambien quisiera saber para que solo apareciera la palabra pesos sin 00/100
ResponderEliminarsi alguien me puede ayudar...
ademas muxas gracias ha sido de gran ayuda
Hola ya sustitui por
ResponderEliminarResult = Result + †PESOS 0″ + Mid(Str(Round((Number - Fix(Number)) * 100)), 2, 1) + “/100 M.N.)â€
Else
Result = Result + †PESOS †+ Str(Round((Number - Fix(Number)) * 100)) + “/100 M.N.)â€
pero me los pone en rojos y no ejecuta la funcion porque sucede???
Hola Gendo seguramente es que el caracter †no es la comilla simple " prueba a sustituir todos los †por "
ResponderEliminarAhhhh Gendo es que al postear se cambia la comilla simple por esto †, por lo tanto en mi comentario anterior siempre solo todas las comillas se ven asi â€. pero pureba a sustituir cada uno de esos caracteres por comilla simple.
ResponderEliminarYa corregí esas comillas del comentario 56 (gentil ayuda de Juan).
ResponderEliminarEs un problema de los simbolos en wordpress pero ahora ya está listo. Gracias por sus comentarios.
Hola Mario.
ResponderEliminarInteresante herramienta nos has mostrado. Sin embargo, tengo un problema y es que quiero tener esta función fija para cuando habra cualquier libro de excell.
Probe tus indicaciones al guardar el codigo en una macro nueva o q lo guardara en el libro de macros personal pero ya probe todos esto y todavia no logro fijar la función.
Me podrias ayudar a paso a paso como guardar la funcion.????
Disculpa mi ignorancia.
Saludos y gracias por tu articulo.
Alguien lo ha instalado con office 2007 en windows vista? Me podrian decir los pasos para hacerlo funcionar?. Gracias de antemano.
ResponderEliminarYo tengo algunos problemas con la parte decimal del numero, les mostrare un ejemplo
ResponderEliminar1,580,001.58 UN MILLON QUINIENTOS OCHENTA MIL UN PESOS 62/100 M.N.
1,970,001.97 UN MILLON NOVECIENTOS SETENTA MIL DOS PESOS 00/100 M.N.
existe por ahi un redondeo que no he podido encontrar.
como le puedo hacer para que me aparezcan correctamente los decimales, y no se haga el redondeo de esta forma.
A quien le puedo mandar el codigo que estoy empleando para recibir un tanto de ayuda
Espero sus comentarios.
Hola:
ResponderEliminarPrimero que nada muchas gracias es una herramientao valiosa nos ha ayudado a muchos a no sufrir con los errores, en al elaboracion de facturas o cheques en excel.
Me gustaria me dijeras como poner simbolo antes y despues de la cantidad en letra ejemplo:
( NOVENTA MIL SEISCIENTOS TRES PESOS 61/100 M.N. )
= NOVENTA MIL SEISCIENTOS TRES PESOS 61/100 M.M.=
busqué en google y esto fue lo que me aclaró de dudas sobre como guardar en personal.xls
ResponderEliminarPersonal.xls
Podemos crear una macro para que este disponible en todas las hojas de cálculo. Esto se hace con el libro PERSONAL.XLS
Personal.xls es un Libro que se carga cada vez que se inicia Excel, pero no esta visible ya que tiene el atributo de Escondido (Hidden), por lo que si necesitamos modificarlo lo debemos hacer a través del comando "Mostrar" del menú "Ventana". En caso que no exista lo podemos crear con un libro de trabajo nuevo, salvarlo con este nombre y dejarlo en la carpeta "InicioXL" (XLStart), que se encuentra en la carpeta "Office" del directorio donde esta instalado MSOffice. Cada vez que dejamos de trabajar con este archivo, lo debemos salvar y luego activar el comando "Ocultar" del menú "Ventana", para que no se vea cuando iniciamos la aplicación.
La ruta de mi fichero es:
C:\Documents and Settings\Adolfo\Datos de programa\Microsoft\Excel\XLSTART\[PERSONAL.XLS]Hoja1
... http://www.fcjs.urjc.es/finan/trucos.htm
La macros es excelente, después de buscar varios sitios, este es el mejor. El caso es que probé el problema del "veintiuno y demas" y resulto lo siguiente:
ResponderEliminar16000021 DIECISEIS MILLONES VEINTIUN 00/100 NUEVOS SOLES
17000021 DIECISIETE MILLONES VEINTE 00/100 NUEVOS SOLES
18000021 DIECIOCHO MILLONES VEINTE 00/100 NUEVOS SOLES
19000022 DIECINUEVE MILLONES VEINTIDOS 00/100 NUEVOS SOLES
20000023 VEINTE MILLONES VEINTICUATRO 00/100 NUEVOS SOLES
21000024 VEINTIUN MILLONES VEINTICUATRO 00/100 NUEVOS SOLES
22000025 VEINTIDOS MILLONES VEINTICUATRO 00/100 NUEVOS SOLES
23000026 VEINTITRES MILLONES VEINTISEIS 00/100 NUEVOS SOLES
24000027 VEINTICUATRO MILLONES VEINTIOCHO 00/100 NUEVOS SOLES
25000029 VEINTICINCO MILLONES VEINTIOCHO 00/100 NUEVOS SOLES
como puedes ver la ultima parte de los veinti... difiere de la cantidad en numeros.
Como solucionar este problema?
Me puedes pasr la macro por favor quiero converti numeroa letras en pesos
ResponderEliminarGracias...
holo como puedo pasar numeros con pundo decimal a letra por ejemplo: 9.2 diga nueve dos
ResponderEliminarTremenda ayuda con este codigo, es posble que me envien el actualizado con las observaciones 53 y 54????
ResponderEliminarPerdon son los comentarios 53 y 65
ResponderEliminarSaludos, solamente quise felicitar al autor y agradecerle por esta función tan útil: me ha sido de provecho. Gracias.
ResponderEliminarGRACIAS GRACIAS MIL
ResponderEliminarbuenisimo, mil gracias, me sirvio bastante
ResponderEliminarMARIO PROBE TU MACRO EN MIS AVALUOS Y SI FUNCIONA, SOLO QUE LA PRESENTACION DE LA CANTIDAD EN LETRA ES ENTRE PARENTESIS, EJEMPLO
ResponderEliminar( UN MILLON DOSCIENTOSMIL PESOS 00/100 M:N.)
el parentesis de al principio no aparece y al final si aparece, ya intente itersertaselo, pero en honor a la verdad no he podido y me me falla, si me puedes dar la solucion te lo agradecere con toda el alma
paco borrego
repito ejemplo estaba mal escrito
ResponderEliminar(UN MILLON DOSCIENTOS MIL PESOS 00/100 M.N.)
TENGO EL MISMMO PROBLE DE COMENTARIO 65, PARA UESTRA SON LÑOS DECIMALES, ALGUIEN TIENE CORREGIDO ESTO???
ResponderEliminarME LO PUEDA ENVIAR?? SERA DE SUMA UTILIDAD, ANTCIPADAMENTE MIS DESEOS DE EXITOS PARA 2008
15,000.01 QUINCE MIL 01/100 DOLARES
150,000.01 CIENTO CINCUENTA MIL 02/100 DOLARES
1,500,000.01 UN MILLONES QUINIENTOS MIL 00/100 DOLARES
1,500,000.02 UN MILLONES QUINIENTOS MIL 00/100 DOLARES
15,000,000.03 QUINCE MILLONES 00/100 DOLARES
1,500,000.04 UN MILLONES QUINIENTOS MIL 00/100 DOLARES
1,500,000.05 UN MILLONES QUINIENTOS MIL 00/100 DOLARES
1,500,000.06 UN MILLONES QUINIENTOS MIL 00/100 DOLARES
1,500,000.07 UN MILLONES QUINIENTOS MIL 12/100 DOLARES
1,500,000.08 UN MILLONES QUINIENTOS MIL 12/100 DOLARES
1,500,000.09 UN MILLONES QUINIENTOS MIL 12/100 DOLARES
1,500,000.10 UN MILLONES QUINIENTOS MIL 12/100 DOLARES
1,500,000.11 UN MILLONES QUINIENTOS MIL 12/100 DOLARES
1,500,000.12 UN MILLONES QUINIENTOS MIL 12/100 DOLARES
1,500,000.13 UN MILLONES QUINIENTOS MIL 12/100 DOLARES
1,500,000.14 UN MILLONES QUINIENTOS MIL 12/100 DOLARES
oye tengo un problema ya que la macro no me esta funcionando como deve de ser he echo todo lo que dices en el post anterior para crear la macro pero no me funciona de echo el de la regla me funciono bien pero este no se por que no me ha funcionado agradeceria tu ayuda
ResponderEliminarAgradezco la solucion a tan antiguo problema que tenia desde hace 10 años lo observe que alguien lo manejaba pero ahora siento que valio la pena la espera te felicito por tu blog, serch
ResponderEliminarHola...
ResponderEliminarLo probe en una makina con office 2003 y estuvo ExCELEnteEEee... pero donde lo necesito es en una makina ke tiene office 2007... pero no funcionaaa... no se algo estare haciendo mal, de todas formas esta excelente. Espero me contestes prontooo.... y cualquier cosa ahi esta mi mail...
Pues yo lo he probado y creo que no hay ningun problema en ello, pero verificare nuevamente y luego te comento Alejandra.
ResponderEliminarHola Mario... Buen dia...
ResponderEliminarEntonces algo he de estar haceidno mal?? :( Lo voy a checar pero de todos modos espero tu respuesta a ver su no hay ningun problema con el 2007 que es lo que deseo...
Ah por cierto que tengas un feliz año nuevooo!!!
MIL GRACIAS FELIZ AÑO NUEVO
ResponderEliminarGracias, no sabes como me ayudo, yo la utilice para poder poner promedios en letras, jejeje como no se programar solo le borre y cambie algunas cositas y ahora si es mas facil, ya que los maestros al poner calificaciones a mano muchas veces se equivocaban ponia 9 en la calif con numero y otro num diferente en la calif con letra, es un problema muy tonto al parecer pero me ayudo muchisimo, que bueno que existan personas como tu saludos
ResponderEliminarya tuve un problema, cuando lo mande a otra pc no me funciono me marca #name? que no la reconoce, a pesar de que en mi maq. la guarde en el personal.xls y despues la guarde en el mismo libro, no se si tenga que ver que donde la mande tengan office 2007, y en ingles, yo la tengo en español y el office 2003, siin embargo con las funciones predetermiinadas no se tuvo problemas tengo usando el promedio y lo cambio de idioma a average, es solo con la función, no se copia ni una macro de las que tenia, que será??? y es que se supone que este archivo lo mandaría a maestros y pueden tener el office 2003 o el office xp o el 2007 en ingles y en español y el objetivo es que funcione en cualquiera pero como que no se copia que hago?? o que estoy haciendo mal??? saludos y gracias, si tambien alguien me puede pasar la respuesta a krimacora@yahoo.com.mx, por que a veces en mi trabajo no tengo tiempo de ver la web pero si mi mail, gracias mil .
ResponderEliminarSencillo krima, si la nueva maquina no tiene el código que aqui he puesto en el libro de macros PERSONAL.XLS de cada una de ellas, pues no funcionara. Prueba insertar el código en cada una de ellas (las PC's) y luego envia el libro de excel y verás que todo funcionará.
ResponderEliminarDudo que las rutas sean incorrectas pues lo he probado en Office XP, 2003 y creo que en Office 2007 también y todo marcha bien. Pruebalo y cualquier duda puedes dejar tu mensaje. Al correo no puedo enviar respuestas porque estoy corto de tiempo.
Saludos.
Gracias funciona bien para numeros menores a un millon,
ResponderEliminarel problema es cuando pongo pe. 1222,345.56 el ultimo valor decima de .56 lo deja como valor 00/100. como puedo correjirlo.
Saludos
ME FUE SUPER UTIL ESTA CODIGO PARA PODER CONVERTIR LOS NUMEROS A LETRAS NADA MAS UN CONVENIENTE COMO PUEDO PONERLO A PESOS MEXICANOS. EJ: EN EL CODIGO APARECE DE LA SIGUIENTE MANERA: 100 CIEN 00/100 DOLARES, Y LO QUE NECESITO ES QUE SALGA 100 CIEN PESOS 00/100 M.N.
ResponderEliminarTE AGRADECERIA EN DEMACIA SI ME PUDIERAS CONTESTAR
luiguibros, solo revisa el código con cuidado y cambio lo que no necesites por los PESOS MEXICANOS.
ResponderEliminarCualquier otra duda, solo consulta.
disculpen, esto s eve genial por lo q he leido, y talvez sea muy tonto pero no entiendo como encuentro o com lo guardo el libro personal de macros, pues solo me dice libro 1-modulo 1(codigo) porfis ayudenme y mil gracias
ResponderEliminarya hice la formula, pero me pone(error verifique la formula) porfis ayudenme soy primerizo
ResponderEliminarjejeee olvidenlo chicos ya vi el error, jejeje gracias esta exelente jeje solo hay un pequeño problemita, ya ejecute el programita, pero ¿al hacer otro archivo nuevo tengo q volver a hacer el programa con diferente nombre segun el trabajo q realice?? o como puedo hacer q funcione con todos los archivos nuevos q haga, porfis
ResponderEliminargracias me va a ser de gran utilidad esta formula ya que yo trabajo con numeros y luego tengo que pasarlo a letras muchas Gracias
ResponderEliminarOye, te doy lo único que puedo darte, las gracias no sabes como me simplificara mi trabajo esta aplicación en verdad sera de gran ayuda y de paso ahorrare papel y equivocaciones en el trabajo de oficina, un saludo desde México con el mayor de los agradecimientos
ResponderEliminarfatima:
ResponderEliminaren el cometario 68 MARCO propone lo siguiente,
busqué en google y esto fue lo que me aclaró de dudas sobre como guardar en personal.xls
Personal.xls
Podemos crear una macro para que este disponible en todas las hojas de cálculo. Esto se hace con el libro PERSONAL.XLS
Personal.xls es un Libro que se carga cada vez que se inicia Excel, pero no esta visible ya que tiene el atributo de Escondido (Hidden), por lo que si necesitamos modificarlo lo debemos hacer a través del comando “Mostrar†del menú “Ventanaâ€. En caso que no exista lo podemos crear con un libro de trabajo nuevo, salvarlo con este nombre y dejarlo en la carpeta “InicioXL†(XLStart), que se encuentra en la carpeta “Office†del directorio donde esta instalado MSOffice. Cada vez que dejamos de trabajar con este archivo, lo debemos salvar y luego activar el comando “Ocultar†del menú “Ventanaâ€, para que no se vea cuando iniciamos la aplicación.
La ruta de mi fichero es:
C:\Documents and Settings\Adolfo\Datos de programa\Microsoft\Excel\XLSTART\[PERSONAL.XLS]Hoja1
MI RUTA MOGOVI
puede que no se la misma ruta
yo cree el libro de personal.xls y lo guarde en esta carpeta funciona bien en todos los libros.
C:\Archivos de programa\Microsoft Office\OFFICE11\XLSTART
guardalo en esta carpeta, espero y te sriva.
Y GRACIAS POR ESTE CODIGO TENIA OTRO Y ME DABA PROBLEMAS CON ALGUNOS ARCHIVOS.
OYE ME GUSTARIA ESTAR EN CONTACTO CONTIGO, PARA APRENDER MUCHO DE FORMULAS EN EXCEL COMO UN PASATIEMPO, RESPONDEME A MI CORREO, por favor
ResponderEliminarNECESITO ESCRIBIR EN LETREAS LAS CANTIDADES EN DOLLARES USA
ResponderEliminarNECESITO ESCRIBIR EN LETREAS LAS CANTIDADES EN DOLLARES USA
ResponderEliminarEs una gran idea la que está publicada, pero desgraciadamente yo ya traté de hacer el macro pero no me sale, es la primera vez que hago un macro y no tengo experiencia, alguien puede ayudarme !? realmente necesito ayuda, gracias !
ResponderEliminaralguien podría pasarme el codigo con las correcciones que anteriormente han resuelto !? y ayuda por favor !!!
ResponderEliminarMiren amigos, si es la primera vez que van a crear una macro deberían leerse el tema que he puesto QUE ES UNA MACRO (http://www.elcuaderno.co.cc/?p=72) para que les sirva de introducción y les facilite la creación de este procedimiento.
ResponderEliminarAdemás, copien el código tal y como está escrito y revisenlo con cuidado.
Mario.
como puedo hacer para que me muestre por ejemplo: 1000.00 en letras Mil pesos 00/100 !? porque el codigo mostraria Mil 00/100 pesos
ResponderEliminarMario, muchas gracias por la ayuda, ya pude crear la macro en el mismo libro y en personal.xls, muchisimas gracias por la ayuda y apoyo.
ResponderEliminarAhora, encontré un error que no he podido solucionar, cuando los los centavos son .00, .01, .02... hasta .09 en letras se ve asi, si pongo $1.05, en letra es: UN 0PESOS 5/100 M.N." uno de los ceros se adelanta y no veo como arreglarlo, quien me ayuda !?
Gracias de nuevo !!
me encanto la formula, solo q tengo la misma duda del num. 67 martin, no he podido agregar el parentesis de inicio, ya lo intente y me marca con rojo, q me indica q esta equivocado, me podrias ayudar, por favor, ya hice todo me salio bien, la cantidades bien, me aparece solo el parentisis final, aaahhh tambien no he podido grabarlo pa`q me parzcan en mis hojas de excel, el de personal.xls
ResponderEliminarte agradezco mucho tu atencion, espero q me ayudes
hola q buen blog es este, espero me puedan seguir ayudando, a mi me aparece un error cuando quiero que me convierta un numero en millones, me redondea las decimales
ResponderEliminarejemplo:
12,111,123.60 (doce millones ciento once mil ciento VEINTICUATRO 00/100 m.n.)
ya estuve revisando y solo lo hace en "millones"
me podrian ayudar???
graxxxxx
La macro esta muy bien, muchas gracias pero tengo problemas con el redondeo de los decimales, ya que cuando sale con cero decimales aparece asi
ResponderEliminar22.00
25.00
30.00
( TREINTA PESOS 0 /100 M.N. )
y necesita salir 00/100
la otra es que cuando son cantidades mayores o aumenta los decimales o no salen correctos
511,825.25
76,773.79
588,599.04
( QUINIENTOS OCHENTA Y OCHO MIL QUINIENTOS NOVENTA Y NUEVE PESOS 6 /100 M.N. )
511,825.30
76,773.80
588,599.10
( QUINIENTOS OCHENTA Y OCHO MIL QUINIENTOS NOVENTA Y NUEVE0PESOS 12 /100 M.N. )
agradecere su ayuda para corregir este pequeño punto.
Garcias
Una pequeña aclaracioncita para todos los amigos que comentan sobre la variación en los centavos.
ResponderEliminarDependiendo de la PC en que se trabaje, y la cantidad de fórmulas que se usen para determinados cálculos en los libros de Excel, siempre hay una ligera y casi imperceptible variación de los valores que se muestran como resultados, así en algunas PC's un valor pueden mostrar 0.66 ctvs, y otras 0.65 ctvs o decimales, lo que sea, por lo tanto la formula aqui presentada está pensanda para volores escritos en celdas manualmente que no incluyen redondeos o aproximaciones derivados de otras formulas complejas.
Ustedes también podrían usar la función "redondear" y establecer un valor (parametro) de redondeo en dicha función que corresponda a únicamente dos decimales solamente, y eso les podría resolver ese problema que a muchos se le presentan, espero que pongan especial cuidado a lo que les menciono en este comentario y verifiquen sus trabajos.
Si tienen dudas pueden comentarlas, que si está en mis posibilidades de responderles y me alcanza el tiempo, con mucho gusto les ayudaré.
Saludos.
Mario.
HOLA A TODOS QUIEN PUDIERA AYUDARME NECESITO ESTE ARCHIVO QUE TANTO MENSIONAN SOLO QUE LO NECESITO QUE ME LOS PASE A PESOS MEXICANOS... SE LOS VOY AGRADECER MUCHISIMO MI CORREO ES castro_26575@hotmail.com
ResponderEliminarMI AMIGO. MUY INTERESANTE TU MACRO
ResponderEliminarSOLO QUE EXISTE UN ERROR DE DICCION
TU MACRO DA COMO RESULTADO: EJEMPLO:
211.30 RESULTADO DOSCIENTOS ONCE 30/100 PESOS
DEBERIA SER:: DOSCIENTOS ONCE PESOS CON 30/100 M.N.
TE VOY A AGREDECER MUCHO QUE ME ENVIES EL MACRO CORRECTO YA QUE NO SE COMO REPROGRAMARLO.
MI CORREO ES ADEPYME@GMAIL.COM
MUCHAS GRACIAS
Muy buena la macro, gracias por publicarla
ResponderEliminarperdi un dia armando una hoja para pasar numeros a letras y llegue al millon. ahora encuentro tu excelente funcion. FELICITACIONES.
ResponderEliminarBienvenido al blog, raul.
ResponderEliminarYo pase AÑOS buscando una función como esta, mira que hasta tome un curso de "programacion" para ver si asi y bueno... mejor ni hablar de eso.
ResponderEliminarSi que la pegaste con esta solución, a mi me funciono a la primera y es distintas versiones.
GRACIAS MIL... CIEN...DOCIENTAS...TRECIENTAS...ETC.
NOTA SI EN ALGO PUEDO AYUDAR CON MUCHO GUSTO.
Tu agradecimiento es suficiente Sergio, bienvenido al blog.
ResponderEliminarde verda muuuchas gracias por tan buena utilidad tengo una pregunta... como hago pa que en la formula no salgan los decimales (centavos) y me muestre el valor textual de una casilla mejor dicho:
ResponderEliminaren una casilla en formato puedo quitarle los decimales pero el programa sigue tomando los decimales (centavos) como hago para que me aparezca el mismo numero de la casilla sin tener en cuenta los decimales
otra vez gracias sos un idolo!!!
HOLA!!
ResponderEliminarEXISTE ALGUN MODO DE K NO TENGA K HACER LA FORMULA X MEDIO DE UNA MACRO X K LO KIERO HACER MANUALMENTE EN UNA HOJA EN EXCEL Y PONGO EN LA CELDA DONDE KIERO LA CANTIDAD EN LETRA LO SIGUIENTE =PESOS(H21) (H21 LA CELDA EN LETRA) Y NO ME PONE NADA ME PONE
#¿NOMBRE? K HAGO???
HOLA!!
ResponderEliminarEXISTE ALGUN MODO DE K NO TENGA K HACER LA FORMULA X MEDIO DE UNA MACRO X K LO KIERO HACER MANUALMENTE EN UNA HOJA EN EXCEL Y PONGO EN LA CELDA DONDE KIERO LA CANTIDAD EN LETRA LO SIGUIENTE =PESOS(H21) (H21 LA CELDA EN NUMERO)sorry Y NO ME PONE NADA ME PONE
#¿NOMBRE? K HAGO??? ayuda!!!
comentario numero 56 juan por favor podrias la subir la programacion de los veintiun para solo copiarla gracias
ResponderEliminarhugo
comentario nuro 56 juan por favor podrias la subir la programacion de los veintiun para solo copiarla gracias
ResponderEliminarhugo
Blanki: lamentablemente la gente de microsoft nunca considero una situacion en la cual nosotros pudieramos usar una funcion tan solo con poner =PESOS(CELDA), por lo tanto es necesario usar el entorno de programación de visual basic para efectos de poder efectuar esta función. De otra forma más fácil no se puede blanqui, pero intenta hacer el proceso y a lo mejor aprenderás un poco mas de todo.
ResponderEliminarBuenas tardes Mario:
ResponderEliminarMuchas gracias por la funcion. Tengo una inquietud que es:
Cuando se declara cifras mayor de mil millones o billones sale mensaje "Error, verifique la cantidad.", como se puede mejorar la macro.
Lo otro en cuando se digita en la celda 999.999.999 escribe cien millones en ves de novecientos noventa y nueve millones.....
gracias
Revisaré el código y veré que puedo hacer.
ResponderEliminarque tal saludos a todos. mario un favor tengo problemascon los decimales al poner la cantidad no me parece bien.
ResponderEliminarejemplo
265701,35 DOSCIENTOS SESENTA Y SEIS MIL SETECIENTOS DOS PESOS 34/100 M.N.
si te das cuenta los decimales no coinciden TE LO AGRADECERIA MUCHO SI ME PUDIERAS AYUDAR
Excelente macro, y muy buenos comentarios. Muchisimas gracias a Victor, Mario y a los demás que aportaron. Esto ahorra mucho trabajo.
ResponderEliminarBuenas tardes...a mi me sirvio mucho usarlo, lo que no puedo es: por ejemplo la cantidad que yo tengo en la celda esta formulada de otra parte, y la suma es de 267.54 pero yo tengo la cantidad redondiada es decir tengo 268 en la celda....pero en letra me pone "Doscientos Sesenta y Siete 54/100 Pesos" como puedo hacerle para que me ponga la cantidad redondiada =(....Gracias!!!
ResponderEliminarel problema de los decimales no es de redondeo, ni acumulacion, eso esta bien definido en la rutina, la macro se pierde despues de 1,999,999.99?
ResponderEliminarNEcesito resolver esto, por lo demas esta excelente y muchas felicitaciones.
Muchas gracias! Super util su macro, en verdad FELICIDADES
ResponderEliminarHola!! que tal...Bueno, en principio queria agradecer mucho por haber subido tan util informacion.
ResponderEliminarPero tengo una duda, queria saber como tengo que modificar la programacion para que me aparezca el resultado en letras pero sin los centavos.
Ej: 253 que me escirba: doscientos cincuenta y tres.
Sin los centavos. Desde ya muchisimas gracias
hola
ResponderEliminarq tal bueno me parece interesante lo de tu macro lo he probado pero al mmento de aabrirlo de nuevo me parece error como puedo hacerlo no te entiendo cuando dices q lo guarde como personal como lo podria solucionar ese problema gracias de todas maneras si puedes ayudarme seria de mucha ayuda
Hola; demasiado bueno de verdad, ya trasforme la función a bolívares (moneda de mi país Venezuela) y quedo así: 10,40 = diez bolívares con 40/100 céntimos; solo reemplace dólares por céntimos y agregue bolívares con entre los primero “aprestéis†de la formula; mil gracias mi amigo
ResponderEliminarque tal esta muy bien esta informacion pero me podran ayudar necesito que la sig. cantidad aparesca en pesos mexicanos. ejemplo 1,500.50
ResponderEliminar(un mil quinientos pesos 50/100 M.N.)
es para facturas del fisco
mi correo es luis-felipe25@hotmail.com
muchisimas gracias hasta luego
Hola; excelente el blog, muchas felicidades.
ResponderEliminarme podrias decir como le hago para que el principio de la cantidad le aparesca el "(" por que solo aparece el del final
Mando muchos salud2
Una excelente herramienta, yo la ocupo para hacer facturas, y realmente ahorra mucho tiempo.
ResponderEliminarHice algunas modificaciones que quizas sirva a otras personas. La adapte para pesos Mexicanos y corregí lo de los "veintiun".
'------------ INICIO DE LA FUNCION PESOS-----------------------------------
Function Pesos(Number As Single) As String
Const MinNum = 1#
Const MaxNum = 4294967295.99
Dim Numbers, Tenths, Result As String
Numbers = Array("CERO", "UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE", "OCHO", "NUEVE", "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", "DIECIOCHO", "DIECINUEVE")
Tenths = Array("CERO", "DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA", "SESENTA", "SETENTA", "OCHENTA", "NOVENTA")
If (Number >= MinNum) And (Number <= MaxNum) Then
Result = RecurseNumber((Fix(Number)))
If Round((Number - Fix(Number)) * 100) < 10 Then
Result = "SON: ( " + Result + " PESOS" + " 0" + Mid(Str(Round((Number - Fix(Number)) * 100)), 2, 1) + "/100 M.N. )"
Else
Result = "SON: ( " + Result + " PESOS " + Str(Round((Number - Fix(Number)) * 100)) + "/100 M.N. )"
End If
Else
Result = "Error, verifique la cantidad."
End If
Pesos = Result
End Function
Function RecurseNumber(N As Long) As String
Dim Numbers, Tenths
Numbers = Array("CERO", "UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE", "OCHO", "NUEVE", "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", "DIECIOCHO", "DIECINUEVE")
Tenths = Array("CERO", "DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA", "SESENTA", "SETENTA", "OCHENTA", "NOVENTA")
Hundrens = Array("CERO", "CIENTO", "DOSCIENTOS", "TRESCIENTOS", "CUATROCIENTOS", "QUINIENTOS", "SEISCIENTOS", "SETECIENTOS", "OCHOCIENTOS", "NOVECIENTOS")
Dim Result As String
Select Case N
Case 0
Result = ""
Case 1 To 19
Result = Numbers(N)
Case 21 To 29
Result = "VEINTI" + RecurseNumber(N Mod 10)
Case 20, 30 To 99
If N Mod 10 <> 0 Then
Result = Tenths(N \ 10) + " Y " + RecurseNumber(N Mod 10)
Else
Result = Tenths(N \ 10) + " " + RecurseNumber(N Mod 10)
End If
Case 100 To 999
If N \ 100 = 1 Then
If N = 100 Then
Result = "CIEN" + " " + RecurseNumber(N Mod 100)
Else
Result = Hundrens(N \ 100) + " " + RecurseNumber(N Mod 100)
End If
Else
Result = Hundrens(N \ 100) + " " + RecurseNumber(N Mod 100)
End If
Case 1000 To 999999
Result = RecurseNumber(N \ 1000) + " MIL " + RecurseNumber(N Mod 1000)
Case 1000000 To 999999999
Result = RecurseNumber(N \ 1000000) + " MILLONES " + RecurseNumber(N Mod 1000000)
Case 1000000000 To 4294967295#
Result = RecurseNumber(N \ 1000000000) + " BILLONES " + RecurseNumber(N Mod 1000000000)
End Select
RecurseNumber = Result
End Function
'———— FIN DE LA FUNCION PESOS———————————–
'Para usarlo es = que una funcion de excel, ejemplo:
'=pesos(suma(a1:a15))
'=pesos(total)
Gracias por ese muy buen comentario Ricardo. Espero que le sirva mucho a personas que han consultado lo que tu has hecho. Unicamente les comentaré que si copian y pegan el código y por casualidad da algún error lo comenten porque Wordpress en el caso de código de programación a veces modifica algunos caracteres aunque siempre estoy pendiente de ello.
ResponderEliminarUn saludo.
Antes que nada quiero aclarar que no soy programador ni nada por el estilo, simplemente un usuario avanzado.
ResponderEliminarSi, tienes razon Mario, al pegar se modificó el códico, la verdad no encontre la manera de subirlo como debe ser, sin embargo lo envié a tu correo tal y cual en un archivo de texto.
Saludos.
ah gracias por la ayuda me ha servido de mucha utilidad solo tengo un problema cuando me parece 1101 me sale un mil ciento un 00/100 otro es cuando termina en uno por ejemplo 21 me sale veintiun o 31 treinta y un
ResponderEliminarquisiera saber q es excel y a puedo hacer atraves de el y tambien como ejecutar sus programas
ResponderEliminarMuchas gracias por la ayuda, es mucho el ahorro de tiempo con esta funcion. Salud2
ResponderEliminarHola: Hace algun tiempo atras pude poner el codigo en el Form sin abrir un libro nuevo, esto dio lugar a NO NECESITAR abrir el libro que contiene la macro para poder usarla sin error.
ResponderEliminarLamentablemente con el codigo de EURO TOOL que viene por defecto ya no se puede hacer.
Quizas vos conozcas la forma de insertar nuevamente el codigo sin abrir un nuevo libro.
Gracias por el codigo me es de muchisima ayuda y te felicito por tu blog.
Estas siempre en MIS FAVORITOS
Excelente!!
ResponderEliminarDe gran utilidad, felicitaciones, estaremos en contacto, un saludo!!
Ok, he jugado un rato con el MACRO, y por cuestion de semantica le agregue la palabra "con", por lo tanto y como ejemplo: 123,45 Bolivares, se lee: ciento veintitres con 45/100 bolivares Todo esto gracias a las diferentes preguntas y respuestas aqui encontradas, 1000 Pts!!
ResponderEliminarnathali: prueba visitar los siguientes enlaces:
ResponderEliminarhttp://www.aulafacil.com/Excel/temario.htm
http://www.monografias.com/trabajos16/sepa-excel/sepa-excel.shtml
Espero te sirva.
Hugo/Luis Miguel: me alegra que les haya servido.
McGust: Ya probaste insertar el código en el libro de macros personal??, para que no tengas que crearla en cada libro.
Saludos amigos, quisiera que me enviaran un codigo o que modificar en el actual para que solo me aparezcan las cantidades de los numeros en letras sin decimales o signos de MN, por ejemplo 78= Setenta y ocho; me sirve para registro de calificaciones en mi Colegio
ResponderEliminarhola primero que nada muchisimas gracias por este aporte me ha facilitado muchas cosas pero tengo un problemita ya lo puse en pesos y que tambien apareciera con M.N pero no se en donde darle un espacio para que las letras no me salgan pegadas a la cantidad ejem:
ResponderEliminarIf Round((Number - Fix(Number)) * 100)
hay creo que no salio el ejemplo :
ResponderEliminar1562
UN MIL QUINIENTOS SESENTA Y DOSPESOS 00/100 M.N
quisiera que la palabra pesos tenga un espacio asi es como lo tengo :
If Round((Number - Fix(Number)) * 100)
bueno creo que no puedo postear el ejemplo ojala entiendas mi problema GRACIAS
ResponderEliminarOK. mi excel no tenia el personal x lo que tuve que crearlo. Obviamente lo grave luego de modificarlo a mi conveniencia en la ruta C:\Archivos de programa\ Microsoft office
ResponderEliminar\office11\XLSTART . Para los que tengan que hacer lo mismo les sugiero ocultar la ventana del personal.xls con VENTANA-OULTAR asi no aparece cuando abrimos los libros. Ta buena la REGLA funciona de 10. Gracias
necesito que solo me aparezca el monto entero, sin 00/100 y la palabra dolares. Ej. 500300, quinientos mil trescientos, gracias
ResponderEliminarSaludo muy bueno su tema pero yo ando buscando uno mas espesifico y creo qu eaqui me pueden ayudar, lo que quier es lo mismo que explicaron ariba pero en vez de ponerlo 5 en la celda A1 par aque salg aen letra en la B1 "CINCO", lo que necesito es que cuando lo ponga 5 en la celda A1 me salga CINCO en la misma celda A1, o en vez de CINCO que salga otro texto definido por mi, esto es par afine de digistacion.
ResponderEliminarPorfavor si alguien puede ayudarme o orientarme de otro programa que peuda hacer esto para digitar.
Que tal amigo Mario: Te saludo desde Guetemala, Quisiera que me enseñaras algun codigo para convertir numeros a letras, pero sin que aparezcan al final los signos de moneda o decimales para que cuando yo escriba un numero me aparezca solamente la conversión en letras; asi por ejemplo si yo escribo el numero 75 me aparezca solo el texto Setenta y cinco solamente con la inicial mayuscula, me sirve para escribir cantidades en letras de las calificaciones de los certificados de los alumnos del colegio donde trabajo
ResponderEliminarSaludos desde Monterrey Mexico y quiero felicitales y darles la gracias porque me acabana de ahorrar un chorro de tiempo en mi trabajo
ResponderEliminarsaludo Janeth
Estimado Amigo:
ResponderEliminarSoy de Guatemala, y dejame decirte que en muy pocos sitios se encuentra la informacion exacta de lo que se busca, por lo que te felicito por la didactica con la que has manejado los temas que se han solicitado y ademas de esto me gustaria saber si tenes mas articulos respecto a trucos de excel. Espero que cada dia mas aporten a tu pagina.
Pues normalmente escribo seguido sobre Excel, solo busca un poco en el blog y verás.
ResponderEliminarGracias por tu visita Miguel.
Agradeceré quien me pueda asesorar sobre cómo se debe ejecutar esta macro una vez grabada y guardada, es decir, ya tengo las cantidades en excel en la celda A1, pero quiero aplicar la cantidad en la B1; cuál es el procedimiento para que se haga la converción. gracias
ResponderEliminarAgradeceré quien me pueda asesorar sobre cómo se debe ejecutar esta macro una vez grabada y guardada, es decir, ya tengo las cantidades en excel en la celda A1, pero quiero aplicar la cantidad en la B1; cuál es el procedimiento para que se haga la converción o que tecla o teclas debo de presionar para que se efectúe la macro. En realidad más necesito esta maco para word 2007. gracias
ResponderEliminaradrian: tienes que agregarle un espacio antes del pesos seria " pesos" y tu lo tienes "pesos" fijate en el espacio antes de la palabra.
ResponderEliminarJaime: una vez que guardas la macro, en el archivo personal.xls, llamas la formula poniedo =personal.xls!pesos(aqui la celda que quieres convertir a texto)
Buenas tardes, agradezco muchisimo el que puso la función, no saben como me ha ahorrado tiempo en hacer cheques, facturas, etc. en donde perdemos tiempo muchas veces. Yo sé que un segundo en muchas ocasiones nos cuesta un poco de trabajo y aveces fallamos una letra por la prisa, pero con esta formula, nos facilita ese trabajo y se nos olvida. Ya me familiaricé con las funciones y tengo por seguro que me funciona al 100% no puedo exigir mas. Al principio me costó un poco, pero analizando la linea de comandos se va mejorando y asi se va probando, tengo que decirlo asi, porque no sé nada de programación solo por el interés de solucionar un problema encontré esta pagina. Gracias a todos lo que han participado e interesado como yo...seguiré leyendo de ustedes para aprender, es muy interesante y productiva.
ResponderEliminarHOLA BUENAS TARDES NUNCA HABIA INTENTADO ESTO, Y TODO ES MUY INTERESANTE. YO KISIERA KE ME PASARAN POR FAVOR UNA FORMULA PARA PASAR LA CANTIDAD EN LETRA YO TENGO EN EXCEL UNA HOJA PARA FACTURACION PERO ME FALTA PONER LA CANTIDAD EN LETRA INTENTE CON LAS FORMULAS KE TIENEN ALGUNOS PERO NO ME SALE EL EXCEL KE TENGO ES DE WINDOWS 2000 PROFESSIONAL. POR FAVOR TE LO AGRADECERIA MUCHISIMO Y QUE TENGAN UN BUEN DIA
ResponderEliminarOye amigo!
ResponderEliminaruna respuesta a algo que siempre habia buscado la manera de solucionarlo.
sobre todo porque nos da la seguridad de preveer los errores.
Te felicito a ti y a la vez a todos los q han participado en el blog por darnos esta gran solucion.
mi unico pero es que me funciona al 100% solo hasta 999,999.99 hasta antes del melon de quesos.
ahi ya se desvirtúa y me saca mal calculado los centavos, sin que sea problema de redondeos, xq la cantidad a convertir la escribo manualmente en una celda en blanco.
lastima q no todo en la vida sea perfecto, ojala exista pronto algo mejorado aun..
pero por lo pronto .. es simplemente GENIAL !!!
Encontre genial tu funcion pero me cabe una duda, ya que soy de chile y aca trabajamos con pesos.
ResponderEliminarMi pregunta es la siguiente:
como puedo modificar la funcion para que como resultado me de solamente pesos
ej: $ 587 = quinientos ochenta y siete pesos
Te agradeceria un monton ya que llevo bastante tiempo tratando de hacer esto.
Priscila:
ResponderEliminarSolo cambia lo que dice DOLARES a PESOS en el código y lo tendrás listo!!
Saludos.
necesito saber como convertir los numeros a letras. lo he intentado pero no puedo.
ResponderEliminarme urge saer como
Mario:
ResponderEliminarLo cambie y ahora me sale en pesos, peso me gustaria que saliera de la siguiente manera
Ej.: 567 quinientos sesenta y siete pesos.
y no lo que me aparece ahora que es:
567 Quinientos sesenta y siete 00/100 pesos
La idea es eliminar el "00/100"
Me podrias ayudar con eso?
De ante mano muchas gracias.
Mario: Te saludo nuevamente desde Guatemala solamente para suplicarte si estuviera en tu posibilidad crear un codigo para convertir cantidades de numeros a texto de cero a cien, pero que el texto de la conversión de numeros a letras solamente tenga la inicial mayuscula por ejemplo el numero 75 sería Setenta y cinco, considero que a varios nos puede servir porque manejamos calificaciones en certificados de Colegios e Institutos de Educación Básica. Gracias por tu comprensión.
ResponderEliminarYa instale la macro y la guarde como dice en el libro Personal, pero al momento de ejecutarlo en otro libro no funciona. Me sala la dirreccion donde esta guardado el libro.
ResponderEliminar=C:\PERSONAL.XLS!PESOS(B12)
A que se debe ese error, que hago mal?
Gracias
mario
ResponderEliminaresta excelente tu macros, solo tengo un requerimiento,
he notado que tiene varios arreglos y la verdad ya me perdi,
me puedes mandar el arreglo final, lo quiero para hacer un macros en facturas
y bueno no he podido saber como ponerlo para que jale en todos los libros
Mario
ResponderEliminarpor cierto acabo de leer otra nota en tu pagina principal
y me falto pedirte algo
" POR FAVOR MARIO ME PUEDES MANDAR EL MACROS COMPLETO, DE ANTE MANO TE PIDO UNA DISCULPA POR NO PONER ATENCION A TODA LA CADENA, DE COMENTARIOS DE TODOS LOS QUE AMABLEMENTE APORTAN PARA QUE TODOS SE NOS FACILITEN LAS COSAS, TE LO AGRADECERIA MUCHO, POR ULTIMO ESPERO QUE ESTE COMENTARIO NO INCOMODE A NADIE, LO HAGO POR QUE ENTIENDO QUE LAS COSAS SE DEBEN DE PEDIR BIEN, SIN MAS AGRADESCO DE ANTEMANO SU AYUDA"
OK ESTO FUE LO QUE HICE
ResponderEliminarNO ENCONTRE EL LIBRO DE PERSONAL
ASI QUE HICE EL MIO, PERO NO FUNCIONO CUANDO QUIERO HACERLO O APLICARLO EN OTRA FORMULA,
ENTONCES HICE LO QUE SUGIRIO
McGust - 31 Mar 08 a las 12:00:53
EN SU NOTA
Y FUNCIONO SOLO QUE LA FORMULA ME QUEDO
=PERSONAL.XLS!PESOS(A1)
SOLO ASI.
ESTUVE HABLANDO CON MI CONTADORA Y DE ENTRADA, ME DICE QUE LA FORMA CORRECTA DE ESCRIBIR 21 SI ES VEINTE Y UN XXXX
ASI QUE EL MACRO ESTA PERFECTO, SOLO POR QUE NO PUEDO HACER QUE FUNCIONES EN TODOS LOS LIBROS, DE TODOS MODOS MIL GRACIAS
jorge:
ResponderEliminarLa macro completa está escrita arriba en el artículo, pero te diré que hare: Voy a escribir algo sobre el libro de macros personal y luego le echas un vistazo.
Saludos.
MARIO
ResponderEliminarGRACIAS POR LA CONTESTACION, LO UNICO ES QUENO PUEDO HACER QUE LA FORMULA SE PUEDA USAR EN TODOS LOS LIBROS
MAS O MENOS LO PARCHE Y QUEDO
PERO ESPERARE TU ARTICULO
POR CIERTO MUY BUENA TU PAGINA, COMO QUE DOS LOS COMENTARIOS Y NOTAS QUE VI EN ESTA PAGINA SON ELOCUENTES AL TEMA HASTA QUE LLEGUE YO
NUEVAMENTE GRACIAS
Mario:
ResponderEliminarHice lo que me dijiste y funciona, pero yo quiero que al anotar:
589 aparesca
"QUINIENTOS OCHENTA Y NUEVE PESOS"
(sin comillas)
¿Que es lo que hay que cambiar para eso?
Nuevamente gracias de ante mano
MARIO:
ResponderEliminarHice lo que me dijiste y funciona, pero a mi me gustaria que al escribir por ejemplo
589 apareciera
QUINIENTOS OCHENTA Y NUEVE PESOS.
¿Que tendria que cambiar para esto?
Nuevamente muchas gracia de antemano
Quiero escribir una cantidad que diga
ResponderEliminarEj.
0.75 Setenta y Cinco Centavos
como hago
ME ENCANTO TU PAGINA, PERO TENGO UN PROBLEMA ME DICEN QUE DEBE DECIR : LA CANTIDAD EN LETRAS SEGUIDA DE PESOS Y DESPUES LA FRACCIOAN POR EJEMPLO NOVENTA PESOS 00/100 M.N. Y NO NOVENTA 00/100 PÑESOS M.N. QUE PEUDOHACER, AYUDA, POR FAVOR
ResponderEliminarGracias por el truco!!
ResponderEliminarmuy buen aporte :)
esta muy interesante y me sirve de mucho :)
thank you!!
BUENO CREO Q TENGO UN PROBLEMA :( COMO LE HAGO PARA QUE ESTE MACRO ESTE ACTIVO EN TODAS LAS HOJAS DE CALCULO QUE YO ESTE USANDO .. HE LEIDO SOBRE UN TAL LIBRO PERSONAL.XLS ... PERO ME CONFUNDO
ResponderEliminarHELP ME PLS
Está bien este truco, pero alguien me ayuda con el siguiente: que solo acepte letras dentro de una celda o que solo acepte numeros en la celda
ResponderEliminarBUENO CREO Q TENGO UN PROBLEMA :( COMO LE HAGO PARA QUE ESTE MACRO ESTE ACTIVO EN TODAS LAS HOJAS DE CALCULO QUE YO ESTE USANDO .. HE LEIDO SOBRE UN TAL LIBRO PERSONAL.XLS … PERO ME CONFUNDO
ResponderEliminarHELP ME PLS tengo el mismo problema o duda como z1Rah le agradeseria su ayuda
Gracias por la formula de convertir una cifra en número a letra, en mi trabajo realizo muchas facturas en excel y tenia mucho tiempo buscando una solución, tuve algunos problemas, pero en aprox. 1.5 horas empezo a funcionar de maravilla.
ResponderEliminarmuchas gracias
Gracias a ti por comentar Antoinio, de hecho luego pondre un nuevo código que encontre al andar vagando por la web, un tanto mejor que este, debido a peticiones de muchos amigos que han dejado sus comentarios al respecto.
ResponderEliminarSaludos.
hola, encontre esta pagina que esta muy buena, mi duda es cuando escribo por ejemplo 25 me coloca en letras veinte y cinco como hago para que me coloque veinticinco, gracias por la ayuda que puedan brindarme
ResponderEliminarMuchas gracias excelente codigo de todos los sitios viistado fue el unico que funciono .
ResponderEliminarPues me alegro que te sea de utilidad, luego pondré algo más, sobre otra forma de hacerlo debido a muchas peticiones de los visitantes.
ResponderEliminarSaludos.
Hola quisiera que me ayudaran a ponerlo pero en ingles y que quedara de la siguiente forma:
ResponderEliminar$3,897.73
THREE THOUSAND EIGHT HUNDRED NINETY SEVEN DOLLARS 73/100 US Cy
Espero que me ayuden por que la verdad no pude.
Hola Mario,
ResponderEliminarExcelente solo modifique las lineas 16 y 18 para ponerlo como se usa en Mex
Result = Result + " 0" + Mid(Str(Round((Number - Fix(Number)) * 100)), 2, 1) + "/100 M.N."
Result = Result + " PESOS" + Str(Round((Number - Fix(Number)) * 100)) + "/100 M.N."
Pero al principio no entendia bien como usarla pero me chute todo el blog completito para llegar a entenderlo.
Cuando son cantidades menores a 1 marca error, se puede revisar esta parte?
Muchas gracias por tu apoyo!!!
ecelente para hacerlo en dólares pero en español lo hice de la siguiente manera:
ResponderEliminar'———— INICIO DE LA FUNCION DÓLARES———————————–
Function DÓLARES(Number As Single) As String
Const MinNum = 1#
Const MaxNum = 4294967295.99
Dim Numbers, Tenths, Result As String
Numbers = Array("CERO", "UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE", "OCHO", "NUEVE", "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", "DIECIOCHO", "DIECINUEVE")
Tenths = Array("CERO", "DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA", "SESENTA", "SETENTA", "OCHENTA", "NOVENTA")
If (Number >= MinNum) And (Number <= MaxNum) Then
Result = RecurseNumber((Fix(Number)))
If Round((Number - Fix(Number)) * 100) < 10 Then
Result = "( " + Result + " DÓLARES" + " 0" + Mid(Str(Round((Number - Fix(Number)) * 100)), 2, 1) + "/100 U.S.)"
Else
Result = "( " + Result + " DÓLARES " + Str(Round((Number - Fix(Number)) * 100)) + "/100 U.S.)"
End If
Else
Result = "Error, verifique la cantidad."
End If
DÓLARES = Result
End Function
Function RecurseNumber(N As Long) As String
Dim Numbers, Tenths
Numbers = Array("CERO", "UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE", "OCHO", "NUEVE", "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", "DIECIOCHO", "DIECINUEVE")
Tenths = Array("CERO", "DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA", "SESENTA", "SETENTA", "OCHENTA", "NOVENTA")
Hundrens = Array("CERO", "CIENTO", "DOSCIENTOS", "TRESCIENTOS", "CUATROCIENTOS", "QUINIENTOS", "SEISCIENTOS", "SETECIENTOS", "OCHOCIENTOS", "NOVECIENTOS")
Dim Result As String
Select Case N
Case 0
Result = ""
Case 1 To 19
Result = Numbers(N)
Case 21 To 29
Result = "VEINTI" + RecurseNumber(N Mod 10)
Case 20, 30 To 99
If N Mod 10 0 Then
Result = Tenths(N \ 10) + " Y " + RecurseNumber(N Mod 10)
Else
Result = Tenths(N \ 10) + " " + RecurseNumber(N Mod 10)
End If
Case 100 To 999
If N \ 100 = 1 Then
If N = 100 Then
Result = "CIEN" + " " + RecurseNumber(N Mod 100)
Else
Result = Hundrens(N \ 100) + " " + RecurseNumber(N Mod 100)
End If
Else
Result = Hundrens(N \ 100) + " " + RecurseNumber(N Mod 100)
End If
Case 1000 To 999999
Result = RecurseNumber(N \ 1000) + " MIL " + RecurseNumber(N Mod 1000)
Case 1000000 To 999999999
Result = RecurseNumber(N \ 1000000) + " MILLONES " + RecurseNumber(N Mod 1000000)
Case 1000000000 To 4294967295#
Result = RecurseNumber(N \ 1000000000) + " BILLONES " + RecurseNumber(N Mod 1000000000)
End Select
RecurseNumber = Result
End Function
'———— FIN DE LA FUNCION DÓLARES———————————–
'Para usarlo es = que una funcion de excel, ejemplo:
'=DÓLARES(suma(a1:a15))
'=DÓLARES(total)
y aparece asi:
SI PONGO --------> 2
ME DA CIOMO RESULTADO--->(DOSDOLARES00/100 U.S)
GRACIAS POR TODO
Hola, muchas gracias por el codigo, me ayudo mucho (tambien el de la regla), es grato conocer por este medio a gente como tu.
ResponderEliminarSaludos.
hola Mario:
ResponderEliminarmil gracias por el truco funciona de maravilla, solo quisiera saber porque me aparece como sigue:
escribi la cantidad $100.02 en la celda A1
en la celda B1 escribi la formula : =PESOS(A1)
el resultado fue:
CIEN 02/100 DOLARES
COMO LE HAGO PARA QUE EN LUGAR DE DOLARES DIGA PESOS
gracias
De verdad eres lindo, al compartir tus muchos conocimientos con toda la comunidad de la web. Dios te bendiga por tu generosidad.
ResponderEliminarLo probé y funciona de maravilla, cambié lo que era necesario para sustituir la palabra dolares por pesos m.n. , me daba error de compliación, entonces cambié por comillas en lugar del signo que tenía (que parecían comillas) . De verdad muchas gracias por tu ayuda, y por cierto que listo eres Mario!!!!
Sólo cambia DOLARES por PESOS, eso es todo. :D
ResponderEliminarBuena tarde
ResponderEliminarAgradezco tu cooperacion para la solucion de esta programacion.
Quisiera saber si tienes algo para excel donde me ayude a saber en la hoja de excel la ubicacion de trabajo (algo asi como si estoy en la celda c6 me señale con una linea o sombra hacia arriba e izquierda y ubicar las orillas, precisamente la coordenada)
Creeme LUIS que mucho tiempo he pensando en esa posibilidad y creo que no existe al menos no se como hacerle para resaltar toda la fila y la columna en donde se encuentre ubicado la seleccion. Pero si algo surge por ahi creeme que no dudaré ni un segundo en publicarlo porque a estos de la Microsoft nunca se les ocurre nada estético como esta caracteristica.
ResponderEliminarHola. Qué tal? No sabe cuanta utilidad genera tener esta funcion a mano. Ahorra muchisimo tiempo a la hora de hacer recibos.
ResponderEliminarAhora, me surgio un pequeño inconveniente (que quizas no lo sea tanto) y es cuando se ingresa el numero 22 devuelve "veinte y dos". No habria una forma de corregir la macro solamente para el caso del numero 22? De modo que devuelva la palabra "veintidós" Muchas gracias.
HOLA
ResponderEliminarQUE BUENO QUE EXISTEN PAGINAS ASI ME ENCANTA
Y ME SIRVIO MUCHO TODOS LOS CONSEGOS
Y LES DON LAS GRACIAS MUCHAS GRACIAS
Excelente aportación, me es de mucha utilidad. tengo un detalle:
ResponderEliminarCuando el resultado es:
UN MILLON PESOS 00/100
¿Cómo agrego la palabra "de" entre "millon" y "pesos".
Mil gracias por su ayuda.
HOLA, ERES UN GENIO, GRACIAS POR LA AYUDA, SI SE DE PROGRAMACION, UNA VEZ TOME EL CURSO DE VISUAL BASIC, PERO CON TU AYUDA HE APRENDIDO MAS, HAGO LA MISMA PREGUNTA, SOBRE PONER LA PALABRA DE CUANDO QUEREMOS PONER "UN MILLON DE PESOS", TAMBIEN PROBE QUE CUNDO PASA DE 1 MILLON LAS DECIMALES NO LAS PONE BIEN, SEGUIRE CHECANDO LA LOGICA, PERO SI LO SABES Y ME AYUDAS TE LO AGRADEZCO MUCHO GENIO.
ResponderEliminaresta super la macro
ResponderEliminargracia me servido mucho
yo he tenido un problema al escribir la cifra 1,000,000
me aparece un millones de pesos 00/100 m.n.
y quiero que me aparesca
un millon de pesos 00/100 m.n.
HIZE EXACTAMENTE LO QUE EXPLICAS YA ME CONVIERTE PERO EN DOLARES....
ResponderEliminarQUIERO QUE ME SALGA EN PESOS, LE MODIFIQUE NADA MAS DONDE DICE DOLARES EN LA HOJA DE PROGRAMACION PERO NADA ME MARCA ERROR, MUCHO TE AGRADECERIA TU AYUDA..
EXCELENTE BLOG
No se porque te debe estar dando errores SOL, pero acabo de modificar el código para que sea un tanto más legible, así que busca las líneas número 16 y 18 y cambia solamente lo que dice DOLARES a PESOS nada más.
ResponderEliminarSi tu problema persiste después de hacer esto, comentalo nuevamente y dime que versión de Office tienes y que error se te presenta, Saludos.