Convertir numeros a letras en Excel

Una de las funciones de Microsoft Excel más buscadas en la red y en los foros, es como convertir un numero a texto o numero a letras, esta función no viene integrada en las formulas propias de Microsoft Excel, esto lo podemos hacer insertando un código llamado “Macro”, que no son mas que instrucciones que nos ayudan a automatizar tareas en Excel (también se usa en Word, Access etc.).

En la red se puede encontrar muchos de estos “codigos”, algunos permiten manejar varias monedas, dólares, Euros etc. Uno de los más usados y mas que excelente es el de Mauricio Baeza, ¡100% hecho en México!, seguramente ya lo haz usado, desde entonces han surgido muchas variantes y modificaciones; pero muy pocos sitios o casi nunguno muestran como usarlos.

Desde que uso Microsoft Excel he probado varios de esos códigos, he visto como mucha gente se atribuye la autoría de dichos códigos, que vergüenza pero en fin. Dentro de las diferencias que he encontrado en la conversión a texto es algo así como esto:

23 = Veintitrés
23 = Veinte y tres

Yo me inclinaría mas por el primero, No es que la segunda conversión este mal, cualquiera de las dos formas son correctas, pongamos un ejemplo, cuando voy a la tienda de la esquina y pregunto ¿Cuándo cuesta este palitroche*? El anciano muy amablemente me dice “son veintitrés pesos joven.

Vamos a empezar, primero necesitamos el código, vamos a usar este que al parecer el autor es Saúl López con una pequeña modificación de ByPaco² para que aparezca Pesos y M.N., yo le hice una pequeña modificación al código para que aparezca “SON:” como se usa aquí en México.

Function PesosMN(tyCantidad As Currency) As String
Dim lyCantidad As Currency, lyCentavos As Currency, lnDigito As Byte, lnPrimerDigito As Byte, lnSegundoDigito As Byte, lnTercerDigito As Byte, lcBloque As String, lnNumeroBloques As Byte, lnBloqueCero
Dim laUnidades As Variant, laDecenas As Variant, laCentenas As Variant, I As Variant 'Si esta como Option Explicit
tyCantidad = Round(tyCantidad, 2)
lyCantidad = Int(tyCantidad)
lyCentavos = (tyCantidad - lyCantidad) * 100
laUnidades = Array("UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE", "OCHO", "NUEVE", "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", "DIECIOCHO", "DIECINUEVE", "VEINTE", "VEINTIUN", "VEINTIDOS", "VEINTITRES", "VEINTICUATRO", "VEINTICINCO", "VEINTISEIS", "VEINTISIETE", "VEINTIOCHO", "VEINTINUEVE")
laDecenas = Array("DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA", "SESENTA", "SETENTA", "OCHENTA", "NOVENTA")
laCentenas = Array("CIENTO", "DOSCIENTOS", "TRESCIENTOS", "CUATROCIENTOS", "QUINIENTOS", "SEISCIENTOS", "SETECIENTOS", "OCHOCIENTOS", "NOVECIENTOS")
lnNumeroBloques = 1
Do
lnPrimerDigito = 0
lnSegundoDigito = 0
lnTercerDigito = 0
lcBloque = ""
lnBloqueCero = 0
For I = 1 To 3
lnDigito = lyCantidad Mod 10
If lnDigito <> 0 Then
Select Case I
Case 1
lcBloque = " " & laUnidades(lnDigito - 1)
lnPrimerDigito = lnDigito
Case 2
If lnDigito <= 2 Then
lcBloque = " " & laUnidades((lnDigito * 10) + lnPrimerDigito - 1)
Else
lcBloque = " " & laDecenas(lnDigito - 1) & IIf(lnPrimerDigito <> 0, " Y", Null) & lcBloque
End If
lnSegundoDigito = lnDigito
Case 3
lcBloque = " " & IIf(lnDigito = 1 And lnPrimerDigito = 0 And lnSegundoDigito = 0, "CIEN", laCentenas(lnDigito - 1)) & lcBloque
lnTercerDigito = lnDigito
End Select
Else
lnBloqueCero = lnBloqueCero + 1
End If
lyCantidad = Int(lyCantidad / 10)
If lyCantidad = 0 Then
Exit For
End If
Next I
Select Case lnNumeroBloques
Case 1
PesosMN = lcBloque
Case 2
PesosMN = lcBloque & IIf(lnBloqueCero = 3, Null, " MIL") & PesosMN
Case 3
PesosMN = lcBloque & IIf(lnPrimerDigito = 1 And lnSegundoDigito = 0 And lnTercerDigito = 0, " MILLON", " MILLONES") & PesosMN
End Select
lnNumeroBloques = lnNumeroBloques + 1
Loop Until lyCantidad = 0
PesosMN = "SON: (" & PesosMN & IIf(tyCantidad > 1, " PESOS ", " PESO ") & Format(Str(lyCentavos), "00") & "/100 M.N.)"
End Function

Bien, ahora que ya tenemos el código vamos a insertarlo en nuestra hoja de trabajo de Microsoft Excel. Recomendable trabajar en un libro nuevo.

Hacemos clic en Herramientas->Macros->Editor de Visual Basic, o simplemente presionando Alt+F11

Abrimos el editor de Visual Basic 

Es importante que cierres todos los libros que tengas abierto y dejes abierto solo el libro en el que estas trabajando ya que podría dificultarte encontrar tu libro en el explorador de proyectos (lado izquierdo de tu pantalla, si no lo ves presiona Ctrl+R)

Una vez abierto el editor de Visual Basic nos vamos a Insertar->Modulo

Insertando el Modulo para pegar el codigo 

En la ventana que se abre pegamos el codigo de la macro

pegamos el codigo 

codigo pegado

Listo, ya tenemos nuestro macro listo para trabajar, cerramos el editor de Visual Basic, lo puedes hacer con Alt+Q y regresamos a Microsoft Excel

Vamos a probarlo, en la celda A1 ponemos un importe, yo pondré 1500.21, abajo, en la celda A2 ponemos =PesosMN(A1)

Imagen final 

Bien, si pudiste hacer el ejercio hasta aquí, ya puedes ponerlo en todos tus libros de trabajo, buena suerte.

*Se acuerdan de aquellos años de primaria cuando una niña inventó esta nueva palabra, creo que la niña se llamaba Pita.

369 Respuestas a “Convertir numeros a letras en Excel”


  1. 1 Marlon Diciembre 17, 2007 a las 11:22 pm

    Oye Gracias busque y busque y solo el tuyo se explica muy bien

    saludos

    Marlon Espana

    • 2 Veronica Octubre 29, 2009 a las 8:59 pm

      Hola, quisiera poner esta aplicacion para agilisar el trabajo pero me aparece #¿nombre?, que significa. Alguien ke pudiera ayudarme.. Gracias.

      • 3 Tavo Noviembre 27, 2009 a las 4:58 pm

        Hola Vero.

        Te hace falta guardar la macro como un complemento de Excel (Extensión .XLA para versión 2003 y anteriores o .XLAM para versión de office 2007), para después habilitarla desde Opciones de Excel Complementos.

        Una vez guardada y habilitado el complemento, bastara con accesar a insertar funciones desde cualquier hoja de Excel e ingresar a “Definidas por el usuario”, en donde encontraras dicha función (PesosMN); selecciona esa función y vincularla a una celda donde exista una cantidad y liisto, la podrás utilizar en cualquier archivo.

        Espero te sea resuelva el problema, saludos.

  2. 4 gchable Diciembre 18, 2007 a las 10:02 am

    Mucho gusto Marlon, a tus órdenes

  3. 6 Eduardo Rodríguez Diciembre 19, 2007 a las 5:10 pm

    ¡Excelente!, le hice algunas modificaciones de presentación. Trabaja muy bien ¡Gracias!

  4. 7 gchable Diciembre 19, 2007 a las 7:19 pm

    Asi es Eduardo, el codigo es uno de los mas facilitos de adaptar, y es corto, hay otros con demasiado codigo. saludos

  5. 8 King Diciembre 26, 2007 a las 2:17 pm

    Muchas gracias Gonzalo_conta, tenia rato buscando, y solo encontraba expliacciones muy extensas, la tuya es la mejor, saludos.

  6. 9 GUSTAVO Diciembre 26, 2007 a las 8:53 pm

    EN ATN: CP GONZALO

    DICHOSO USTED POR ESTUDIAR Y SABER TRANSMITIR SUS CONOCIMIENTOS ACABO DE ACCESAR A SU PAGINA Y ES INCREIBLE TODO LO QUE TIENE LO FELICITO MUCHO

    ATTE
    GUSTAVO HERNANDEZ MALDONADO

  7. 10 CHIVA Diciembre 27, 2007 a las 3:08 am

    TE AMO!!!
    TARDE SIGLOS Y POR FIN ENCONTRE COMO HACERLO
    ERES UN GENIO Y GRACIAS POR COMPARTIR TUS CONOCIMIENTOS
    SALUDSO

  8. 11 Valentina Enero 4, 2008 a las 4:04 pm

    Contador:
    Felicitaciones por su pagina, es la mejor esplicacion y la más facil de usar, y perdone usted mi ignorancia, pero, como le hago para que no me salga la palabra “SON”?,

    Le agradeceré eternmente Contador, gracias de nuevo.

    • 12 BYRON MONTERROSO Noviembre 28, 2009 a las 12:30 pm

      COMO LE HAGO PARA QUE NO APARESCA MN AL FINAL Y CAMBIAR PESOS POR QUETZALES, ACTUALEMENTE TRABAJO EN GUATEMALA.

      FELICITACION POR COMPARTIR TUS CONOCIMIENTOS CON LAS DEMAS PERSONAS.

  9. 13 gchable Enero 4, 2008 a las 11:27 pm

    Hola Valentina, en la penultima linea del codigo antes de End Function, solo borra la palabra SON:, tambien puedes quitar los parentesis, debe quedar asi:

    Antes: PesosMN = “SON: (” & PesosMN……..
    Despues: PesosMN = “(” & PesosMN……..

  10. 14 Frank Ruiz Enero 10, 2008 a las 8:24 pm

    mUCHISIMAS GRACIAS ES EL UNICO QUE ME A FUNCIONADO Y SE EXPLICA CORRECTAMENTE ME SALBASTE MI TRABAJO QUE BUEN APORTE

  11. 15 David Cruz Enero 11, 2008 a las 11:43 am

    Muchas gracias realmente eres una buena persona por compartir tus conocimientos yo no se nada de esto y me fue muy facil poder hacerlo

  12. 16 Mario Enero 14, 2008 a las 10:49 am

    Primero gracias, he probado el modulo y funciona
    muy bien, solo una pregunta, al cerrar y abrir
    nuevamente no me permite ejecutar la macro, que
    debo hacer para poder utilizarla en sesion diferente?

  13. 17 gchable Enero 14, 2008 a las 4:37 pm

    Te sale esto? #¿NOMBRE?

    Si es así es simple, el nivel de seguridad de Excel esta configurado como alto.

    En Herramientas->Opciones->Pestaña Seguridad->Seguridad de Macros->Selecciona Medio.

    Debería de funcionar.

    • 18 hola Octubre 14, 2009 a las 10:59 am

      Ya le hice las modificasciones al nivel de seguridad de macros y me sigue diciendo lo mismo #¿NOMBRE?, tengo que reescribir el codigo para que funcione, le agradeceria su ayuda

  14. 19 SUSANA Enero 21, 2008 a las 6:11 pm

    EXCELENTE TE FELICITO SOLO TU TIENES DON PARA EXPLICAR

  15. 20 Erick Enero 23, 2008 a las 4:07 pm

    Excelente!!!!!! Mil Gracias por compartir tus conocimientos con la comunidad

  16. 21 BAJAPH Enero 23, 2008 a las 7:04 pm

    Perfecto man

    Gracias por el dato…

    Aqui estare revisando tu pagina, esta muy buena

  17. 22 Al Enero 28, 2008 a las 3:35 pm

    Hay cientos de páginas relacionadas con este tema pero ninguna vale la pena…. la tuya por supuesto si¡¡¡ gracias

  18. 23 JORGE SANTIAGO Febrero 2, 2008 a las 11:05 pm

    MUCHISIMAS GRACIAS ¡HE INVERTIO MUCHO TIEMPO PARA ENCONTRAR ESTA APLICACION Y HASTA HOY LO LOGRE !
    ES MUY BUENO EXPLICANDO
    ME GUSTARIA PODER CONOCER SU CORREO Y PODER SABER SI ME PUEDE AYUDAR EN OTRAS CUESTIONES DE EXCEL
    GRACIAS!
    UN SALUDO DESDE OAXACA, MEXICO!

  19. 24 Luis Febrero 8, 2008 a las 11:06 am

    que onda we, chido tu blog, “sugerencia” pon links de foros se que tienes varios interesantes… saludos desde CACUN…

  20. 25 Luis Febrero 8, 2008 a las 11:06 am

    que onda we, chido tu blog, “sugerencia” pon links de foros se que tienes varios interesantes… saludos desde CANCUN…

  21. 26 gchable Febrero 8, 2008 a las 12:44 pm

    Que paso mi estimago amigo, que digo amigo hermano!! como haz estado? que pequeño es el internet, te mando un abrazo, un dia de estos años voy a visitarte.

  22. 27 CARLOS AVILA Febrero 11, 2008 a las 6:46 pm

    Solo quiero agradecer su tiempo y felicitarlos por la manera de explicar las cosas, a mi me fue de mucha utilidad.

    MUCHAS GRACIAS

  23. 28 Alejandro Zamora Febrero 15, 2008 a las 4:01 pm

    Gracias estoy recien ingresando al uso de Excel, me vienen de buena gracias

  24. 29 kamysado Febrero 17, 2008 a las 3:40 pm

    una pregunta no lo he podido hace rdfucnionaren 2007, alguna cosa que falte para esta funcion en 2007??, muchas gracias

  25. 30 gchable Febrero 17, 2008 a las 7:36 pm

    Saludos kamysado, no uso Office 2007 por cuestion de gustos, por lo que me veo imposibilitado para contestar tu pregunta.

    Esperemos que alguno de los internautas pueda ayudar.

  26. 32 waldo Febrero 19, 2008 a las 8:34 pm

    Gracias por compartir tus conocimientos, eres un genio solo por compartir. :-)

  27. 33 Inés Febrero 20, 2008 a las 1:43 pm

    Excelente es tu macro, funciona muy.
    Sólo te quería preguntar que paréntesis tengo que sacarle para que no aparezcan y además le quisiera agregar CON /100
    para los centavos.

  28. 34 alpine1mx Febrero 20, 2008 a las 1:51 pm

    Buenas muy buen aporte solo que tengo una duda vi sus archivos y hay uno que me interesa ya lo descarge pero a la ora de descomprimirlo me pide una contraseña me la podria proporcionar craagle.zip

    Buscador de cracks y seriales, como usar craagle visita http://gchable.wordpress.com/
    By gonzalo_conta 53 days ago Size: 455.7kb

    Espero su amable respuesta SALUDOS !!!

  29. 35 gchable Febrero 20, 2008 a las 9:42 pm

    Ines,
    cambia la penultima linea del codigo por este otro:

    PesosMN = "SON: " & PesosMN & IIf(tyCantidad > 1, " PESOS CON ", " PESO CON ") & Format(Str(lyCentavos), "00") & "CENTAVOS M.N."
    el resultado es:
    20.21 SON: VEINTE PESOS CON 21 CENTAVOS M.N.

    puedes probar cambiando el codigo e ir viendo el resultado
    ——————————————————-
    alpine1mx,
    ahi mismo donde lo bajaste hay una anotacion que dice como usar craagle visita http://gchable.wordpress.com/, que es este sitio, si lees el tema que habla de craagle veras que ahi esta la contraseña que es @felizañonuevo.

  30. 36 Inés Febrero 21, 2008 a las 7:48 am

    Muchas gracias Gonzalo por compartir todo lo que sabés con nosotros, no muchos lo hacen.

  31. 37 Idania Febrero 22, 2008 a las 11:04 pm

    Hola, le agradezco mucho la información que me ha proporcionado, ya que es realmente sencilla,facil y util.

  32. 38 oswaldo Febrero 26, 2008 a las 7:57 pm

    hola fijate k tengo una pekeña duda o curiosidad,kiero saber si es posible que por medio de una macro se pueda poner la fecha del sistema en una celda,sin necesidad de que tu la escribas y le des formato

  33. 39 gchable Febrero 26, 2008 a las 10:15 pm

    HOla Oswaldo, pues no se especificas que es lo que quieres hacer, pero la instrucion para la fecha es:

    ActiveCell.Value = Date

    para la hora Time

  34. 40 Anónimo Febrero 27, 2008 a las 12:05 pm

    Pita descubre una palabra nueva

    Una mañana, Tomás y Anita entraron en la cocina de Pita y le dieron los buenos días, pero Pita no contestó. Sonreía apenas, con expresión soñadora.
    —Perdonen que no conteste a su saludo; estoy pensando en lo que acabo de descubrir —dijo Pita.
    —¿Qué has descubierto?
    —¡Una palabra nueva!, ¡una estupenda palabra!
    —¿Qué clase de palabra? —indagó Tomás con cierta desconfianza.
    —Una maravillosa palabra, una de las mejores que he oído en mi vida.
    —Anda, dínosla, Pita —dijeron los niños.
    —¡PALITROCHE! —dijo Pita triunfante.
    —¿PALITROCHE? ¿Y qué quiere decir?
    —¡Ojalá lo supiera!
    —Si no sabes lo que significa, no sirve para nada —dijo Anita.
    —Eso es lo que me preocupa —contestó Pita mordisqueándose el pulgar de la mano derecha.
    —¿Quién dice lo que significan las palabras? —preguntó Tomás.
    —Yo creó que se reunieron algunos viejitos —dijo Pita—. Inventaron algunas palabras y luego dijeron: “esta palabra quiere decir esto…” Pero a nadie se le ocurrió una palabra tan bonita como palitroche. ¡Qué suerte que haya dado yo con ella! ¡Y les apuesto lo que quieran a que descubriré lo que significa! Quizá se le pueda llamar así al ruido que hacemos cuando andamos en el lodo. A ver, cómo suena “cuando Anita anda en el lodo puede oírse un maravilloso palitroche…” No, no suena bien. Eso no es. Quizá es algo que puede comprarse en las tiendas. ¡Vamos a averiguarlo!
    —¡A ver si podemos! —añadió Tomás.

    Pita fue a buscar su monedero y lo lleno de monedas.
    —Palitroche suena como una cosa bastante cara. Seguramete me alcanzará con esto.
    Ya puestos de acuerdo, los tres salieron muy preocupados de la casa. Llegaron a una pastelería.
    —Quisiera comprar algunos palitroches —dijo muy seria Pita.
    —¿Palitroches? —preguntó la señorita que despachaba—, creo que no tenemos.
    Entraron a una ferretería.
    —Quiero comprar un palitroche —dijo Pita.
    —¿Palitroche?, vamos a ver si encuentro alguno —dijo el dependiente y sacó de un cajón un cepillo que entregó a Pita.
    —¡Esto es un cepillo! —exclamó Pita muy enojada—. Yo quiero un palitroche. ¡No intente engañar a una inocente niña!
    —Pues no tenemos lo que necesitas, niña, lo siento mucho.
    —Lo siento… lo siento… —salió murmurando Pita, verdaderamente contrariada.
    —¡Ya sé! Lo más probable es que se trate de una enfermedad. Vamos con el médico.
    —Quiero ver al doctor. Es un caso grave —dijo Pita.
    Como se trataba de un caso grave, la enfermera los hizo pasar inmediatamente.
    —¿Qué te pasa? —le preguntó el médico.
    —Estoy muy asustada, doctor. Creo que estoy enferma de un grave palitroche. ¿Es contagioso?
    —Tú tienes más salud que todos nosotros juntos —le dijo el médico—. No te preocupes.
    —Pero existe una enfermedad con ese nombre, ¿verdad? —preguntó ansiosamente Pita.
    —No, pero aunque existiera, tú no lo atraparías jamás.

    Pita, Tomás y Anita salieron de ahí bastante desconsolados. Iban con la cabeza baja, pensando que nunca encontrarían un palitroche. De pronto Pita gritó:
    —¡Ten cuidado, Tomás, no pises ese animalito!
    Los tres miraron hacia el suelo. El animalito era pequeño, con un par de alas verdes que billaban como si fueran de metal.
    —No es chapulín, ni grillo —dijo Tomás.
    La cara de Pita se iluminó:
    —¡Ya sé! ¡Es un palitroche! —gritó triunfante.
    —¿Estás segura? —preguntó Tomás.
    —¿Crees que no voy a conocer a un palitroche cuando lo veo? Como tú no has visto ninguno en tu vida, no sabes reconocerlos. ¡Mi querido palitroche! Ya sabía yo que al fin iba a encontrarte. Hemos recorrido toda la ciudad buscándote, y estabas casi debajo del zapato de Tomás. Ven, te llevaré a casa y viviremos felices.

    FIN

  35. 41 gchable Febrero 27, 2008 a las 3:45 pm

    No estaba tan errado :)

  36. 42 Jonbus Marzo 5, 2008 a las 5:59 pm

    Gracias por el código esta excelente!! solo una consulta, como sería para que la parte de centavos tambien salga en letras, como ejemplo: “SON VEINTE PESOS CON CERO CENTAVOS”, es decir, absolutamente todo en letras. Muchas Gracias

  37. 43 Henry Neyra Marzo 13, 2008 a las 10:48 am

    Muy buena, y desde luego muchas gracias

  38. 44 eduardo Marzo 31, 2008 a las 1:23 pm

    Gonzalo

    muy buena tu informacion y me a sido de gran ayuda

    mi consulta es como puedo borar esto de la formula
    00/100 M.N. gracias
    se despide Eduardo de Chile

  39. 45 fergzzag Abril 7, 2008 a las 7:27 pm

    WOW… Fue bien papa….

    Te lo agradezco por los siglos de los siglos……

    excelente Blog…

    fergzzag

  40. 46 LUIS Abril 8, 2008 a las 9:08 am

    ME PARECE MUY INTERESANTE, ME HA SERVIDO MUCHISIMO, AGRADEZCO Y FELICITO A LAS PERSONAS QUE COMPARTEN SUS CONOCIMIENTOS EN FORMA DESINTERESADA.
    UNA CONSULTA, ACA NO UTILIZAMOS LOS CENTAVOS, CÓMO PUEDO REDONDEAR EL NÚMERO ??

    CORDIALES SALUDOS,

  41. 47 alpine1mx Abril 10, 2008 a las 10:33 am

    Hola buenos dias una pregunta porque al querer ejecutar la macro me manda el siguiente mensaje se a detectado un nombre ambiguo: PesosMN y no me deja ejecutarla mi pregunta es que estoy haciendo mal para correr la macro por su atencion gracias

  42. 48 Ital000 Abril 13, 2008 a las 3:22 pm

    BUENA UTILIDAD SOBR TODO, PARA FINES ESPERADOS. (^ ^,) THANSK YOU.

  43. 49 skud Abril 22, 2008 a las 2:21 pm

    gracias por tu aportacion lo estoy usando en office 07 y funciona muy bien, saludos y nuevamente gracias

  44. 50 OMARIN Abril 25, 2008 a las 2:50 pm

    gracias muchas gracias tanto ke buske y no encontraba nada tan detallado y muy bien explicado y muchas gracias saludos y felicidades por tu aportacion

  45. 51 carlos Abril 25, 2008 a las 9:40 pm

    ese codigo esta mal, aprenda a programar bien, hay maneras más faciles, para que se complica. o es que es un aficionado. estudie bien y publique cosas que valgan la pena.

  46. 52 luis enrique Abril 28, 2008 a las 12:03 pm

    Mil gracias por compartir tus conocimientos, muy explicativo, aunque tuve dificultad porque despues de cerrar el modulo y regresar a la hoja de calculo me funcionaba bien, pero al cerrar el archivo y abrir uno nuevo ya no funcionaba la formula de =pesosmn(), asi que guarde el modulo como un complemento de excell y listo.
    posteriormente abri una nueva hoja de calculo y me fui al administrador de complementos y le di añadir nuevo complemento, busque el archivo y listo.

    problema resuelto..
    gracias por comparttir

  47. 53 carlos Abril 28, 2008 a las 3:59 pm

    luis enrique, aprenda por usted mismo, no copie y pege de internet. piense por usted mismo.

  48. 54 gchable Abril 28, 2008 a las 5:10 pm

    Mi estimado Carlos, te voy a dirigir muy pocas palabras por que no vale la pena siquiera contestarte, por educación lo haré para aclararte lo siguiente:

    Me pides que aprenda programar y me llamas aficionado, ¿por que mejor tu no aprendes a leer bien antes de abrir la bocota? en ningún momento dije que programé el código o si? lee bien, por otra parte, si todo esto no te es útil no regreses, no contamines con tus comentarios negativos, gente como tu que no aporta nada útil, que no publican cosas que valgan la pena.

    Por otro lado te pido respeto hacia los otros ínter nautas, desde luego, si tu educación te lo permite.

    Saludos.

  49. 55 FERNANDO RIVERA Mayo 1, 2008 a las 10:27 am

    SR. GONZALO GRACIAS POR SU AYUDA, EN EFECTO COINCIDO CON LOS DEMAS CYBERNAUTAS, LO UNICO QUE NO PUEDO HACER ES QUE APAREZCA EN LOS OTROS LIBROS QUE ABRO, LUIS ENRIQUE DIJO QUE SE GUARADARA COMO COMPLEMENTO PERO NO SE COMO GUARDARLO….

    SI ME PUDIERA AYUDAR SE LO AGRADECERIA MUCHO

    PD.

    LO FELICITO POR CAMPARTIR SUS CONOCIMINETOS

    GRACIAS

  50. 56 Patricio Mayo 3, 2008 a las 6:38 pm

    Gonzalo gracias por publicar esto. Queria preguntarte como hago para que salga “con diez centavos” por ejemplo, es decir todo en letras. Muchas Gracias

  51. 57 JESSICA Mayo 5, 2008 a las 11:15 am

    muchisisimas gracias tengo un buen tiempo investigando esto y eres el unico que me respondio con pasiencia por que fue el unico bien buen trabajo exelente

  52. 58 niko Mayo 6, 2008 a las 3:38 pm

    at`n conta gonzalo

    tengo ratos tratando de hacer todo esto por mi trabajo que tengo que acer persupuestos y estos me facilita mas mi trabajos, tengo casi todo vinculado solo esto me faltava para solo tener que merte datos en unas hojas y me arroje las hojas terminadas

  53. 59 ORLANDO CAMARGO RODRIGUEZ Mayo 12, 2008 a las 5:03 pm

    EXELENTE!!!!

    PERSONAS COMO UD ES LAS QUE NECESITA EL MUNDO QUE COMPARTEN SUS CONOCIMIENTOS QUE BIEN LO FELICITO.

    MUCHAS GRACIAS YA QUE ESTA FORMULA LA ESTABA BUSCANDO DESDE HACE YA TIEMPO Y NO SABIA QUE DEBIA HACER NUEVAMENTE MIL Y MIL GRACIAS. SUERTE EN TODODS LOS PROYECTOS QUE EMPRENDA Y SI SACA ALGO NUEVO ME GUSTARIA ME LO HICIERA SABER A TRAVEZ DE MI CORREO.

  54. 60 bob and hope Mayo 12, 2008 a las 8:51 pm

    mil gracias una buena funcion y que agradable que compartas con los demas la informacion habla bien de ti gracias

  55. 61 Adriana Mayo 14, 2008 a las 12:55 pm

    Hola!
    podrias ayudarme con un codigo.. para pasar de numeros a letras pero en ingles.
    es decir ya tengo un codigo configurado para español pero ahora requiero uno en ingles

    45.50 Forty Five dollars and fifthy cents 00/100 USD

  56. 62 Saul Medina Sanchez Mayo 14, 2008 a las 9:41 pm

    Felicidades,, quien aporta busca un mundo mejor…

  57. 63 RICHARD LOYOLA Mayo 16, 2008 a las 4:28 pm

    HOLA gchable, EL CODIGO ES MUY BUENO Y FUNCA, SOLO QUE AQUIE NO HAZ CONSIDERADO LOS DECIMALES, SERIA BUENO TERMINAR ESO.
    DE TODOS MODOS ESTA EXCELENTE

  58. 64 RICHARD LOYOLA Mayo 16, 2008 a las 4:33 pm

    Muy bien, excelente.
    Saludos

  59. 65 REYNA Mayo 17, 2008 a las 12:49 am

    hola muchas gracias le pregunte a tecnicos, licenciados en sistemas, ingenieros en sistemas y nadie supo contestarme, asta que te encontre, muchas gracias. millllll gracias

  60. 66 Janecita Mayo 17, 2008 a las 6:03 pm

    Excelente, realmente tienes el don para enseñar y explicar, te agradezco un mundo.

    Exitos, te lo mereces!!!

  61. 67 Zito Mayo 22, 2008 a las 8:46 am

    Mestro de maestros no hay nada de q hacer eres lo maximo, un favor como podriamos hacer para que en vez de pesos aparezca Dolares Americanos y no salga el MN.
    Muchas gracias

  62. 68 Javier Mayo 28, 2008 a las 6:01 am

    Buenos dias, la formula me sirve pero a medias, en España para hacer cheques y efectos, se emiten en Euros que como sabes llevan decimales y esta formula no trascribe a texto los decimales de un numero. Te agadeceria me facilitases una formula para poder rellenar los efectos correctamente.

    Muchas gracias y felicidades por tu trabajo.

  63. 69 oscar11n Mayo 28, 2008 a las 5:32 pm

    estoy muy agradecido habia pasado mucho buscando y esta es la mejor que encontre y lo mejor que es facil de modificar gracias saludos

  64. 70 jesus Mayo 28, 2008 a las 6:17 pm

    MUY BIEN EXPLICADO ¡¡¡¡FELICIDADES!!!!!!

  65. 71 Moisés Mayo 30, 2008 a las 4:45 pm

    Excelente, mas que bien, para office 2007 los pasos son un poco diferentes, pero funciona a la perfección.

    Gracias!!
    Saludos!!

  66. 72 Ivan H Junio 4, 2008 a las 11:46 am

    Si mas que execelente es verdad, de los que encuentren en la red, este es el mas util, (aplica para mexico) por que los demas al ser numeros enteros o por la forma de escribirse al español dan algunos errores.

    pregunta?, se puede ejecutar en access este codigo?
    como reporte es un poco complicado ya que no se ponen las celdas (exel) sino por la tabla, alguien sabra como formularlo?

  67. 73 EL MAS CHINGON Junio 5, 2008 a las 6:08 pm

    LA NETA NO TIENE MAUSS ESTE CODIGO TA CON MADRESS CARNAL BIENTOS

  68. 74 MASTER OF PUPETS Junio 5, 2008 a las 6:09 pm

    LA NETA NO TIENE MAUSS ESTE CODIGO TA CON MADRESS CARNAL BIENTOS

  69. 75 Gerardo Junio 6, 2008 a las 8:03 pm

    Se me ocurrio comprar el Office 2008 para Mac y el Excel 2008 lo que he entendido en varios foros es que esta nueva version no trae el Visual Basic para las macros, me podrias informar si hay otra forma de hacer esto? o si se puede hacer con la nueva herramienta que trae esta version?

  70. 76 gchable Junio 6, 2008 a las 8:22 pm

    Gerardo,

    intenta esto:

    1.- abrir un libro vacio de excel
    2.- dar click al icono de Office que se encuentra en la parte superior del lado izquierdo, el circulo de colores.
    3.- En la opción más frecuentes, bajo Opciones principales para trabajar con Excel, se debe de activar la casilla de verificación MOSTRAR LA FICHA PROGRAMADOR EN LA VENTANA DE OPCIONES y dar click en Aceptar y ya veran la pestaña de PROGRAMADOR.
    4.- dar click en PROGRAMADOR, buscar las opciones de SEGURIDAD O MACROS (o lo mas que se le parezca) y un click en CONFIGURACIÓN DE MACROS (o lo que mas se le parezca) Y activar la casilla de HABILITAR TODAS LAS MACROS (o lo que mas se le parezca).

    Respuesta de mikecoz81 en anafinet.org foro de Excel

  71. 77 enrique Junio 12, 2008 a las 10:04 pm

    woowww muchas gracias mejor explicado imposible

  72. 78 HOLYMON Junio 13, 2008 a las 2:43 pm

    OYE QUE PILERA GRACIAS. ES EL UNICO QUE ME HA FUNCIONADO.

    SE LE PUEDE QUITAR EL PARENTESIS ?

    QUE MACHERA TE CONSULTARE CON OTRAS

    GRACIS

  73. 79 HOLYMON Junio 13, 2008 a las 3:32 pm

    oye intente hacerlo en otra hoja y no me dejo que paso ?

  74. 80 HOLYMON Junio 13, 2008 a las 3:48 pm

    OK VOLVI A PROBAR Y RESULTO PERO ME TOCO ELIMINAR EL MODULO Y HACRLO DE NUEVO.

    COMO SE APROXIMA ?

    GRACIAS

  75. 81 Ana Laura Junio 26, 2008 a las 4:43 pm

    Muchas gracias por lo de la macro para excel, respecto a la cantidad en letra, es padre saber todo esto. saludos.

  76. 82 iieni Junio 28, 2008 a las 2:41 pm

    oye una duda aplique el macro y si me resulto

    ya que la utilizo para la elaboracion de facturas

    pero cuando lo quise hacer por segunda vez no funciono

    aparece lo siguiente….#¿NOMBRE?…

    QUE HAGO?

  77. 83 LAURIS Julio 2, 2008 a las 9:04 pm

    HOLA MUCHAS GRACIAS ERES DE LO MAS GENIAL
    NO SABES LA GRAN AYUDA QUE ME HAS DADO

    ENCONTRE DESDE HACE TIEMPO LA FORMULA PERO
    NUNCA SUPE COMO LLEVARLA ACABO SOLO HASTA QUE
    ABRI ESTA PAGUINA WEB….

    MUCHAS GRACIAS AMIGO
    PRONTO TENDRE UNA NUEVA DUDA
    Y CREO QUE TE BUSCARE NUEVAMENTE
    HACI QUE TE BUSCARE A TI POR KE
    DAS LA EXPLICACION BIEN ENTENDIBLE
    TU SI SABES

    GRACIAS.

  78. 84 Sebastian Arancibia Maruri Julio 11, 2008 a las 11:41 am

    Gracias Gonzalo, me sirvio mucho el modulo.
    :)

    Saludos desde Chile.

  79. 85 Lidher Julio 14, 2008 a las 8:13 pm

    Gracias por este gran aporte, sobre todo para los que no somos expertos en esto, me has salvado la vida..seguire conociendo mas el excel..

  80. 86 Lupita Ramirez Julio 17, 2008 a las 12:12 am

    ¡¡ Muchísimas gracias !! He revisado innumerables códigos y éste está muy sencillo de insertarlo. Ya tenía uno pero no me funcionaba como yo necesito porque la interpretación en letra me la daba en minúsculas y tenía que “puentearla” con otra función para cambiarla a mayúsculas, aparte no funcionaba con cantidades mayores a 99,999.99 me daba los decimales equivacados. Felicidades la voy a recomendar mucho.

  81. 87 GUSTAVO REYES Julio 17, 2008 a las 2:16 pm

    gracias carnal es al unico sitio donde encontre la explicacion completa y esta funciona muy bien

  82. 88 Hugo Rafael Julio 18, 2008 a las 2:15 pm

    En verdad muchísimas gracias, eres mi héroe … jajaja

    lo use en un programita para facturar y esta funcionando super bien

  83. 89 Angel Julio 18, 2008 a las 2:25 pm

    La verdad me funciono perfecto en 2007 gracias tengo que hacer facturas y donde mas me equivoco es en poner numero con letra nuevamente mil gracias

  84. 90 Javier Julio 21, 2008 a las 3:50 pm

    Excelente aporte lo acabo de probar y funciona perfectamente muchas gracias

  85. 91 car Julio 23, 2008 a las 1:19 pm

    gracias, por compratir esto con todos. El trabajo se me hace mas rápidoo.

  86. 92 Gabitos Julio 23, 2008 a las 5:08 pm

    GONZALO:

    Muchisimas gracias por esta informacion y por toda la que proporcionas en tu blog… me fue de muchisima utilidad porque esta super completo y explicado de una forma maravillosa!!!

    Gracias nuevamente.

    Gabitos

  87. 93 raul Julio 24, 2008 a las 12:00 pm

    MARAVILLOSO, MAGISTRAL E IMPREISONANTE LÑA MANERA DE EXPLICARLO, Y TRANSMITIRLO

    FELICIDADES Y MUCHAS GRACIAS POR COMPARTIRLO CON NOSOTROS

  88. 94 LI Miguel Ontiveros Julio 24, 2008 a las 3:43 pm

    Definitivamente nos haz hecho 1 grandisimo fabor al publicar este macro, en lo personal es casi casi 1 vendicion jajajaja porque todos los dias tengo ke escribir cantidades en numeros y fechas luego de imprimirlos y a veces con tantas vueltas en la oficina me enredo jajajajaj :P
    Eres profesor o algo?¿?¿?¿?¿ muy muy muuuuy bien explicado y no bataye nada. Gracias y felicidades

  89. 95 Grissel =) Julio 25, 2008 a las 11:51 am

    GRACIAS POR SU INFORMACION!!!!!!
    MUY SENCILLO Y FACIL DE UTILIZAR!!!!!!

    FUNCIONA MUY BIEN!!!

  90. 96 LUIS Julio 28, 2008 a las 5:58 pm

    ESTA GENIAL FELICIDADES.. NECESITO SABER COMO HACERLO PERO EN DOLARES

  91. 97 El Regio Julio 30, 2008 a las 12:18 am

    Hola soy de Monterrey, Mexico y uso el Microsoft Office Excel 2007, como lo puedo usar esa macro ya que las ventanas son diferentes en esta version a la que magistralmente nos ensenas….pudieras explicarnos a los que tenemos la ultima version de excel ??

    Muchas Gracias

    El Regio

  92. 98 El Regio Ignorante Julio 30, 2008 a las 12:36 am

    Una disculpa a todos los de este ciber…..por leer todo de prisa no observe que ya esta contestada mi pregunta sobre excel 07….y les puedo decir que funciona de maravilla…saludos y gracias por el talento mexicano….!!

  93. 99 El Regio ya no tan Ignorante Julio 30, 2008 a las 1:07 am

    Les comparto la siguiente modificacion que realize a la formula de Mr. gchable, ya que no me servian los dos puntos y comas, en el momento de usarlo para facturas y descubri lo siguiente que me fue muy util al quitar algunos parentesis en la micro :

    Loop Until lyCantidad = 0
    PesosMN = "SON" & PesosMN & IIf(tyCantidad > 1, " PESOS ", " PESO ") & Format(Str(lyCentavos), "00") & "/100 M.N."
    End Function

    me di cuenta que me queda de esta forma:

    87547.56
    SON OCHENTA Y SIETE MIL QUINIENTOS CUARENTA Y SIETE PESOS 56/100 M.N.

    Espero les sea de su utilidad….espero quitarme lo ignorante…saludos desde Regiolandia ( Monterrey, Mexico )

  94. 100 gchable Julio 30, 2008 a las 9:26 am

    Gracias Regio por tu aportación, seguramente servirá a mas de uno.

  95. 101 GERARDO SALAZAR Agosto 2, 2008 a las 10:12 am

    TENGO UNA PREGUNTA.
    LA CELDA CON IMPORTE ME MARCA $1,156.33 Y AL MOMENTO DE LA CONVERCION SALE SON:( UN MIL CINETO CINCUENTA Y SEIS PESOS 32/100 M.N.) NO ES EN TODOS LOS CASOS. SOLO ALGUNOS.PERO SIEMPRE MARCA UNA DECIMAL MENOS.
    QUE SE PUEDE HACER.
    GRACIAS.

  96. 102 gchable Agosto 2, 2008 a las 10:35 am

    Hola Gerardo, pues tu problema esta en el importe que quieres convertir, no en el codigo, el codigo lo probe haciendo cientos de conbinaciones por segundo junto con otro codigo y solo falló en los importes menores a la unidad.

    Usa la funcion redondear, o truncar segun sea el caso para obtener un importe sin centesimos diez milesimos etc.

    Dale formato general a la celda para ver si no tiene mas decimales ocultos que no se ven con el formato de millares.

  97. 103 GERARDO SALAZAR Agosto 2, 2008 a las 6:36 pm

    GCHABLE.
    LO MODIFIQUE DE DIFERENTES MANERAS, LE PUSE, LE QUITE, PERO SIGUE IGUAL, A QUE CORREO TE MANDO UN ARCHIVO PARA QUE LO VEAS.
    GRACIAS.

  98. 104 PERLA Agosto 5, 2008 a las 10:33 am

    NO PUES SOLO PARA FELICITARTE ME SIRVIO DE MUCHO YA ME LOSABIA PERO COMO TENGO OFFICCE 2007 EN INGLES SOLO KERIA ACORDARM..

    OYE SOLO PARA QUE ALGUINE ME AYUDE
    AHORA KIERO LO MISMO PERO EN DOLARES

    CANTIDAD EN LETRA EN DOLARES..

    URGEEEEEEEE

  99. 105 PERLA Agosto 5, 2008 a las 10:43 am

    YA GRACIAS YA LO CREEE YO MISMAAAAA EEE

    ES FACILL INTENTENLOOO
    SI KIEREN EL TIP DIGANME

    ES FACIL ME GUSTA ENCONTRAR LO DIFICIL

  100. 106 Jaime Marti Agosto 18, 2008 a las 11:48 pm

    Muchas gracia a sido de gran utilidad, estoy en colombia y aca no utilizamos 00/100, me colaboraria informandome como puedo para que los centavos me aparezcan en letras gracias

  101. 107 JOSE LUIS FIGUEROA Agosto 19, 2008 a las 11:12 am

    Excelente macro, me ayudo mucho en un desarrollo que estoy haciendo

  102. 108 Edith Agosto 21, 2008 a las 7:21 pm

    Hola gchable, no podia quedarme atrás para agradecerte lo que me haz ayudado, la macro es super sencilla de utilizar a mi me ha funcionado excelente. Gracias y felicidades.

    Desde Guadalajara.

  103. 109 Pablo Roberto Agosto 22, 2008 a las 12:15 pm

    Gonzalo:

    Dejame darte la gracias, esto me servio para realiza un recibos de asimiliados, soy uno de los que mas le intelige a la pc, mi trabajo no quedaria sin esta macro.

    Lo que te puedo decir es que sigo trabajando por ti.

    Lo que unico que me queda es ayudar alguien mas, y que siga generandose esta cadena de ayuda y que en algun momento cuando lo necesites se te regrese.

  104. 110 Anna Agosto 26, 2008 a las 10:08 am

    Execelente formula muchas gracias!!! tarde mucho en encontrarla

  105. 111 ZUGA Agosto 30, 2008 a las 4:32 pm

    EXELENTE, TANTO TIEMPO BUSCANDO Y AL FIN LO ENCONTRE…UNA PREGUNTA FUNCIONARA EN ACCES?

    SALUDOS Y FELCITACIONES

  106. 112 fredoeg Septiembre 3, 2008 a las 6:38 pm

    Excelente.. gracias

  107. 113 Carlos Peru Septiembre 5, 2008 a las 12:12 pm

    Excelente gonzalo_conta, muchas gracias por el aporte, y un granito de arena, para guardar un complemento, simplemente es guardar tu archivo de excel pero como complemento de excel, Archivo / Guardar como / complemento de Microsoft Office Excel, de esa forma lo puedes utilizar en otro archivo excel, ingresando en Herramientas / Complemento / Examinar.
    Saludos

  108. 114 Lillean Septiembre 5, 2008 a las 5:18 pm

    Gracias….excelente Gonzalo, es un tremendo gran aporte…visite varios sitios…pero solo el tuyo da en el punto..EXCELENTE!!!

  109. 115 HC Septiembre 6, 2008 a las 7:32 pm

    Muy agradecido por tu gran aporte!!!

    Me servira mucho. :D

  110. 116 GILBERT Septiembre 9, 2008 a las 5:45 pm

    muy bien aplicado pero esta limitado a millones me podrias decir como se realiza este ejemplo para calcular miles de millones y billones,,,,,,,,

    gracias!!!! y muy bien gracias por el apporte

  111. 117 Carlos Septiembre 11, 2008 a las 1:17 am

    Me rindo, agradezco tu amabilidad, dejame decirte que sigo tus instrcucciones, pego el codigo me salgo con alt+Q coloco la funcion =PesosMN() me funciona de maravilla estoy contento, pero de alli que hago? no se como guardarlo! lo he hecho de mil maneras me salgo pero cuando quiero entrar nuevamente al archivo me sale un mensaje de Microsoft debe cerrarse y enviar informe… es decir yo quiero llevar la formula a un archivo lo hago pero me sale ¿NOMBRE? YA hice todo lo de habilitar todas las macros en seguridad de la macro, lo de alerta de seguridad tengo office 2007.Debe haber algo facilito en que debo estar fallando ayudame! El codigo trabaja cuando lo pego en la macro pero como lo uso en otro archivo, como vuelvo a entrar a ese archivo y corregir por ejemplo lo de “SON” Microsoft con su mensaje no me deja entrar al archivo….

  112. 118 Carlos Septiembre 11, 2008 a las 1:20 am

    Mira la hora en la que me estoy desvelando… antes que nada tambien ya guarde el archivo como complemento de Excel y aun asi no puedo utilizar tu maravillosa conversion de numeros a letras, me conformo con pegar el codigo ver que funciona de maravilla y solo es alegria de pobre porque cuando me salgo de excell solo queda el recuerdo de que funciona pero lo que quiero es aplicarla a unos recibos que necesito hacer en EXCEL

  113. 119 Aldo Septiembre 11, 2008 a las 1:34 am

    Muy bueno el codigo fuente te felicito la verdad lo necesitaba muchisimo.

    Gracias por el aporte que haces con nosotros principiantes.

  114. 120 Adrian Septiembre 11, 2008 a las 10:01 am

    hola amigo, soy de Guatemala, y he visto como has ayudado a toda esta gente,quisiera saber si me ayudas con un codigo o una funcion q convierta valor numerico a texto en quetzales verdad,estare muy agradecido ya que en mi trabajo me pidieron eso,pero por no saber mucho solicitu tu ayuda para salvar mi trabajo, te lo agradeceria mucho.

  115. 121 Josefina Septiembre 12, 2008 a las 6:18 pm

    Gracias, no suelo necesitar de cambiar de números a letras pero de ves en cuando me traen facturas a llenar y este macro me facilitó las cosas,
    Garacias mil de nuevo

  116. 122 Teresa Septiembre 13, 2008 a las 12:54 pm

    Muchas gracias, lo digo de broma pero en verdad dedique mucho tiempo para poder utilizar esta opcion y nadie podia ayudarme, hasta que por suerte cai en este sitio.

    lo felicito por sus conocimientos pero sobre todo porque tiene usted el don de COMPARTIRLOS

  117. 123 Alfredo Septiembre 14, 2008 a las 9:34 pm

    Hola Gonzalo, esta opción me está ahorrando mucho tiempo en el trabajo, así que gracias por compartila.
    Una pregunta, podría cambiar el orden de PESOS 00/100 MN a 00/100 PESOS, simplemente?

    Nuevamente gracias

    Saludos

  118. 124 ANY Septiembre 15, 2008 a las 1:26 pm

    gracias por compartir tus conocimientos, eso habla muy bien de ti..

    mil gracias.

  119. 125 JENNY Septiembre 16, 2008 a las 9:03 am

    hola, soy de colombiana, y he visto como has ayudado mucha gente,quisiera saber si me ayudas con un codigo o una funcion que convierta un valor numerico en letras pero en pesos colombianos ,estare muy agradecido ya que en mi trabajo lo necesito para egresos y fecturar ayudame porfis es urgente.
    UN ABRZOTE Y BENDICIONES

  120. 126 Alejandro Sanchez Septiembre 17, 2008 a las 2:54 pm

    Excelente aportación muchimas gracias por compartir tus conocimientos
    Un abrazo

  121. 127 pelayo Septiembre 20, 2008 a las 1:31 pm

    respuesta para carlos del 11 de septiembre yo lo guarde como complemento y si pude usarlo despues en otros archivos que tenia almacenados en usb espero que te sirva como lo hice las instrucciones estas son cuando estas en donde pegaste la programacion.
    ahora bien, para que lo tengas siempre disponible debes guardar este libro asi como esta con las siguientes opciones:
    Archivo, guardar como, colocale un nombre y cambien en guardar como tipo Compremento de Microsoft Excel *.xla, una vez que lo haz guardado, con el excel abierto vas a herramientas, complementos examinar, buscas la ruta, lo agregas y lo dejas tildado en la lista de complementos, cada vez que abras el excel se abrira ese lobro dejandote la funcion disponible en cada sesion de esa maquina, si requieres utilizarlo en otra maquina repite el paso de agregar el complemento

  122. 128 Jesus M. hernandez Septiembre 21, 2008 a las 11:46 am

    tu programa me sirvio muchisimo, te agradezco tu ayuda

    mil gracias

  123. 129 Fernando Rubio Septiembre 25, 2008 a las 12:03 pm

    Muchas gracias, estuve tratando varias veces de aplicar esta función y no había podido, en cambio de la forma como lo explican aqui es muy facil y funciona a la perfección…gracias nuevamente.

    Una pregunta si abro el archivo en otro equipo puedo ver la información igual o solo me sirve para el equipo donde la grabe?

    Hasta pronto

  124. 130 Luis Enrique Septiembre 26, 2008 a las 9:58 am

    Muchas gracias me sacaste de un gran apuro para facturar, saludos…

  125. 131 lupis Septiembre 26, 2008 a las 11:59 am

    Excelente aportación, dado que el nuevo excel trae algunas deficiencias que el anterior no traia, felicidades.

  126. 132 Javier Salas Septiembre 28, 2008 a las 7:17 pm

    Excelente!!!!!!!!!!!!!!
    es el mejor que he encontrado y eso que he usado varios.
    gracias

  127. 133 Robinson Farfan Septiembre 29, 2008 a las 11:22 am

    no soy muy bueno en este tipo de comentarios, pero al cesar lo que es del cesar y de todo corazon lo felicito Gonzalo; que bueno es contar con personas super pilas q comparten su conocimiento para un buen fin
    Dios le bendiga , augurandole muchos exitos mil felicidades Robin

  128. 134 hipolito Alcantara Octubre 2, 2008 a las 2:01 pm

    GRACIAS POR TODO, EXELENTE DE TU PARTE POR COMPARTIR TU CONOCIMIENTO, UN ABRAZO DESDE CHIMBOTE – PERU.
    FUNCIONA EXCENTE EN EXCEL 2007

  129. 135 Beth Octubre 3, 2008 a las 3:14 pm

    Te felicito por el bien que nos haces a todos compartiendo lo que sabes… Me encanta!

  130. 136 alfredo Octubre 3, 2008 a las 5:24 pm

    oye esta genial pero como le hago para convertir numeros de 15 cifras por que esa es mi tarea y eso que estoy en primero de secundaria AYUDAME POR FAVOR SI!!!!!!!!!!!!!!!!!!!!!!!!!!!

  131. 137 Yenssen Octubre 3, 2008 a las 6:13 pm

    Hola, antes que nada muchas gracias por el código y las instrucciones. Pocas son las personas que conocen excel tan a fondo. Escribo porque se me hizo interesante la posibilidad de que no escriba nada si la cantidad es 0 o si la celda no tiene nada escrito, ya que pone “PESO 00/100MN” ¿Me puedes dar alguna idea de como hacerlo?

    Muchas gracias y felicidades

  132. 138 gchable Octubre 3, 2008 a las 6:56 pm

    Yenssen usa la siguiente formula =SI(A1<1,”",PesosMN(A1))

  133. 139 blanca Octubre 6, 2008 a las 10:34 am

    como le hago para que se convierta en dolares

  134. 140 CHUSYTA Octubre 6, 2008 a las 7:30 pm

    desde hace tiempo andaba en busca de esta informacion y por fin lo encontre contigo, ya quedo mi libro, muchas gracias por compartirnos tus conocimientos.. que dios te bendiga!!!

  135. 141 Marina Octubre 7, 2008 a las 9:40 am

    Ola, muchas gracias por el codigo y la ayuda, solo quisiera saber como le hago para que en vez de pesos salga otro moneda o simplemente no salga la palabra pesos porque la moneda de mi pais es otra. si se pudiera son QUETZALEZ. gracias n serio…

  136. 142 EDGAR PALACIOS Octubre 7, 2008 a las 4:49 pm

    Oye muchisimas gracias llevaba años buscando esta fución en Excel, ahora me has ahorrado hacer esto cada vez, de verdad 1000000000 de Gracias
    EP

  137. 143 Helen Octubre 8, 2008 a las 9:24 am

    Mr. gchable:
    Gracias por compartir lo que sabe, quisiera me sacar de mi ignorancia, manejo cantidades como 9.5 son premedios trabajo en una Escuela, que modificaciones puedo hacer.
    Anticipo mi agradecimiento desde Tepeaca, Puebla,

  138. 144 Carolina Octubre 8, 2008 a las 3:30 pm

    Hola Me podrías ayudar con algo muy sencillo necesito una función para convertir un número a texto. Estoy haciendo planillas de calificaciones y las notas se escriben en números y letras.
    Ej: 4 cuatro
    Yo sólo quisiera escribir la nota en números y que excel me escriba en texto la nota automática.
    Desde ya muchas gracias.
    Por favor me podrías ayudar.
    Carolina

  139. 145 Lupita Ramirez Octubre 8, 2008 a las 9:47 pm

    Gonzalo:
    Tengo una archivo de excel programado con un combobox para que en la celda selecciona se muestre el valor que yo escoja que lo tomo de otra hoja del mismo archivo donde está mi lista de clientes.
    El problema que se me presenta es que cuando modifico o inserto un nuevo registro en la lista me sale un mensaje de error de la clase “range”. Simplemente doy click en finalizar el depurador y ya me deja trabajar, pero es muy molesto que se presente cada vez que edito algún dato en esa hoja. A continuación menciono el código de progración para ver si me puedes ayudar con ese detalle.

    Private Sub ComboBoxNombre_Change()
    Range(“B1″).Select
    ActiveCell.FormulaR1C1 = ComboBoxNombre.Value
    End Sub

    Muchas gracias

  140. 146 Lupita Ramirez Octubre 9, 2008 a las 9:49 am

    Gonzalo:

    Ayer te pedí ayuda para el código de programación de un combobox, pero no mencioné mi correo:
    lupita_ramirez@infinitum.com.mx

    Muchas gracias.

  141. 147 carlos rojas Octubre 15, 2008 a las 7:37 pm

    hola, esta super bueno el codigo, solo que como le puedo hacer para que aparaesca un millon de pesos, ya que solo aparece un millon pesos

  142. 148 Marcelo Octubre 18, 2008 a las 8:08 am

    muy bueno, gracias y muy cencillo de entender, ahora necesito uno igual pero para la hora…

  143. 149 CLAUDIA Octubre 20, 2008 a las 4:06 pm

    GRACIAS ERES GENIAL, PERO TENGO UNA DUDA, CASI NO SE DE MACROS, Y SEGUI LOS PASOS QUE ESTAN AQUI, Y RESULTO BIEN,SIN EMBARGO EN LOS LIBROS QUE YA TENGO, QUISE COPIARLO PERO NO SUPE COMO, ES DECIR, EN ESTE CASO COMO LE HAGO PARA COPIARLO EN OTROS LIBROS, PORQUE ABRO EL LIBRO QUE QUIERO SE LLAMA FACTURAS, ENTONCES LE DOY HERRAMIENTAS LE DOY EDITOR VISUAL BASICS, LE DOY INSERTAR MODULO, Y COPIO TODO IGUAL PERO YA NO ME RESPETA LA FORMULA, ME PODRIAS INDICAR QUE HECHO MAL O COMO PODRIA HACERLE PARA QUE ME RESPETE LA FORMULA EN EL LIBRO, DE CUALQUIER FORMA MUCHAS GRACIAS POR TU ATENCION

  144. 150 Fredy Octubre 21, 2008 a las 10:50 pm

    Genial, de todo corazón lo felicito y le agradezco en el alma el que comparta sus conocimientos de esta manera tan altruista. CHAPEAU

  145. 151 MIGUEL Octubre 22, 2008 a las 10:02 am

    ME FUNCIONA DE MARAVILLA AHORA PEDIRIA DE TU APOYO PARA QUE EN LUGAR DE PESOS SEAN DOLARES

    GRACIAS

  146. 152 Edgar, Guatemala Octubre 23, 2008 a las 4:34 pm

    Wow! Gracias, ojalá y hubieran mas maestros como vos. Felicidades.

  147. 153 Edgar López Octubre 25, 2008 a las 6:48 am

    Gracias por el aporte llevaba un año buscando, que bueno que existen personas como usted dandole a conocer a los que no sabemos.

  148. 154 hector salinas Octubre 30, 2008 a las 6:26 pm

    alguien puede ayudarme tengo un problema con las tablas excel 2007. De accidente le quité la opción para que cuando ingrese un registro se añada automaticamente a la tabla….. la he buscado para colocarla y no puedo…. no se como tengo que estar arrastrando con el mouse….. sirvanse ayudarme por favor

  149. 155 shapo Octubre 30, 2008 a las 7:32 pm

    Excel

    1. On the Developer tab, click Visual Basic.

    HideI don’t see the Developer tab
    1. Click the Microsoft Office ButtonButton image, and then click Excel Options.
    2. Click Popular, and then select the Show Developer tab in the Ribbon check box.

    Note The Ribbon is part of the Microsoft Office Fluent user interface
    2. On the Help menu, click Microsoft Visual Basic Help.
    3. In the Type words to search for box, type the method, property, function, statement, or object for which you want help, or type a query.

    para el ke no encontraba visual basic de excel 2007

  150. 156 Carzuri Octubre 31, 2008 a las 10:52 pm

    Hola,

    Buenas noches. Quisiera agradecerte Gonzalo, por la información que de muy buena manera pusiste para el conocimiento de todos nosotros quienes visitamos tu blog, sin duda es de valiosa ayuda.

    Por otro lado quisiera también agradecer a Pelayo sus comentarios adicionales en donde nos muestra como guardar y hacer válido esa Macro para todas las hojas de cáculo que queramos usar, él lo hizo para Excel 2003, dejo aqui como guardarlo y hacerlo váldio en Excel 2007.

    *****

    1. Haga clic en el botón de Microsoft Office Imagen del botón y, a continuación, haga clic en Opciones de Excel.
    2. Haga clic en Complementos y, en el cuadro Administrar (parte inferior de la ventana), seleccione Complementos de Excel.
    3. Haga clic en Ir.
    4. En el cuadro Complementos disponibles, active la casilla del complemento que guardaste (aparecerá en ese listado el nombre que guardaste antes) y, a continuación, haga clic en Aceptar.

    ******

    Espero que ésto también le pueda servir a alguna otra persona.

    Saludos

    Carzuri

  151. 157 sneker Noviembre 1, 2008 a las 5:36 am

    gracias te estare eternemente agradecido

  152. 158 joseph Noviembre 4, 2008 a las 3:42 pm

    hola quiero hacer un pregunta como yo eso lo puedo colocar en todos los programas como power point word

    habra una forma de masificarlo en mi computador ante toso gracias

  153. 159 WILLDV Noviembre 8, 2008 a las 1:20 pm

    Hola
    tengo un problema con el codigo y es el siguiente:
    cuando pongo 1000000 me sale un millon pesos 00/100 M.N.
    como le hago para poner la palabra de antes de pesos.
    tambien pasa lo mismo con 2000000, 3000000, etc

  154. 160 gchable Noviembre 8, 2008 a las 1:47 pm

    WILLDV, prueba modificando el codigo, busca:
    ” MILLON”, ” MILLONES “) reemplaza por ” MILLON DE”, ” MILLONES “) espero que te sirva.

  155. 161 WILLDV Noviembre 10, 2008 a las 12:46 pm

    si me funciono como me dijiste pero ocurrio un error como consecuencia:

    1,250,350.00 son: un millon DE doscientos cincuenta mil trescientos cincuenta pesos 00/100 m.n.

    a lo que me refiero es que sale la palabra DE cuendo no es necesario, ¿ se le puede añadir lineas de codigo para que la palabra DE salga cuando sea necesario?

  156. 162 Kira-Sama Noviembre 11, 2008 a las 7:58 pm

    Excelente trabaja muy bien, gracias…

  157. 163 maribel Noviembre 18, 2008 a las 7:25 pm

    Hola, ya lo hice pero no me aparece el nombre con letra….solo #¿nombre?….
    que puede estar pasando? gracias

  158. 164 Maria Eliza Noviembre 19, 2008 a las 9:35 am

    Oye!!! mil gracias… estaba buscando eso para excel 2007… ke amable!!!

  159. 165 Marce Noviembre 19, 2008 a las 3:40 pm

    Te agradezco mucho por compartirnos la solución de este problema.. Saludos desde Bolivia

  160. 166 DENISSE CAMPOS Noviembre 21, 2008 a las 9:32 am

    GRACIAS TE PASATE….

  161. 167 DENISSE CAMPOS Noviembre 21, 2008 a las 10:02 am

    GRACIAS TE PASASTE….ERES UN GENIO

  162. 168 Vanessa Montengro Noviembre 24, 2008 a las 9:42 am

    te pasaste muyyyy bueno

    pero una consulta para que al final no salga por ejemplo

    $51.952
    SON: ( CUARENTA Y TRES MIL SEISCIENTOS CINCUENTA Y SIETE PESOS 00/100 M.N.)

    eso q sale al final
    a y tambien el número el ultimo me lo cambia

    por favor yo creo q eres el único que me puede ayudar
    graciasssssssss

  163. 169 Lusa Noviembre 24, 2008 a las 3:25 pm

    hola… muchisimas gracias….
    me funciono perfectamente
    no sabes cuanto me has ayudado
    que bueno que no eres egoísta con tu conocimiento.
    besos!!!!

  164. 170 Fer Noviembre 25, 2008 a las 9:38 am

    Funciona a la perfeccion harmano… muchas gracias, mira a cuantos has ayudado.. saludos

  165. 171 Sara Noviembre 26, 2008 a las 11:05 am

    Muchas gracias, de todas las respuestas que encontre, lejos la tuya es la mejor…

    solo tengo una duda, si quiero que los decimales tambien sean transformados a letras, cómo puedo hacerlo?

    Gracias
    Sara

  166. 172 tonyluks Noviembre 27, 2008 a las 11:07 am

    hola amigo, oye fijate que abri la hoja de excel 2007 e hice todo lo que decia, si me funciono todo bien pero una vez que cerre la hoja de excell me aparecio lo siguiente:
    “Las siguientes caracteristicas nose pueden grabar en libros son macros….Proyecto VB…..Para guardar un archivo con estas caracteristicas, haga click en NO, y a continuacion elija un tipo de archivo habilitado para macros en la lista tipo de archivo…….Para seguir guardadndo este archivo como libro sin macros, haga clic en SI”

    le di clic en si porque no tengo un libro en macros entonces cuando volvi a abrirlo la funcion me salia asi:#¿nombre?…. que hago mi estimado mandame a mi correo plis!! te agradesco!!

  167. 173 Carlos Diciembre 1, 2008 a las 2:20 pm

    Hola muchas gracias por el dato.
    Quisiera saber como podria hacerle si quiero que
    tambien me salga con formato de U.S.
    Gracias me ayudo mucho

  168. 174 BERE Diciembre 8, 2008 a las 9:17 pm

    HOLA HOLA!, ESPERO QUE ESTES SUPER BIEN, BUENO PUES MUCHO QUE AGRADECERTE, EN VERDAD ERES UN EXPERTO EN ESTO EEH!, VAYA QUE ME HA SERVIDO MUCHISISISIMO TU IMFORMACION, YA EN 2 OCASIONES ME HA SERVIDO PORQUE HAN SIDO PARA EXAMENES FINALES, GRACIAS Y MUCHA SUERTE!

  169. 175 Joey Diciembre 9, 2008 a las 3:46 pm

    Excelente aportacion! Muy bien explicado! 100% Mexicano!

    FELICIDADES!

  170. 176 hector Diciembre 9, 2008 a las 5:12 pm

    hola, oye tengo un problema todos los pasos que pones son muy faciles
    pero cuando quiero guardar el libro me sale un mensaje que dice: que no pueden guardar libros sin macros.
    .proyecto VB.
    y dice que para guardar un archivo con estas caracteristicas, elija un tipo de archivo habilitado.
    y gracias de antemano

  171. 177 Alejandra Diciembre 10, 2008 a las 1:04 pm

    Hola, muchas gracias por toda tu información, pero tengo un problemita, ¿cómo puedo hacer para que las cantidades me salgan en inglés?… gracias por tu apoyo

  172. 178 bakmax Diciembre 17, 2008 a las 1:54 pm

    Hola, tengo una duda, al salir de mi Hoja de calculo, el macro creado se borra, espero puedas ayudarme.
    Utilizo Office 2007.
    El macro me funciono perfectamente, el unico inconveniente es al momento de salir.

  173. 179 pantera000sd Diciembre 17, 2008 a las 6:49 pm

    gracias esta de poca madie me habia podido ayudar con referencia a si se puede convertir en ingles le Hice unas modificaciones claro tu ya la sabes te la mando para que la cheques

  174. 180 jorge alberto lopez t Diciembre 19, 2008 a las 11:00 am

    Jorge A López T
    Dic-19-08

    Tu programa es excelente, pero no cubre calores superiores a 999.999.999 sería posible que lo hiciera ?

    gracias y saludos.

    Bucaramanga, Colombia

  175. 181 Laura Diciembre 28, 2008 a las 2:56 pm

    Hola, Gonzalo y feliz navidad.
    Es que no se si se puede pero seguro que si se puede tu lo sabras, jeje.
    Tengo que hacer un cuadrante del mes. donde solo ponga una letra en cada celda y esta sea un valor el cual al final se sume todas las celdas.
    Es decir en las filas iria el nombre y en las filas los dias del mes.
    M= mañana = 8 horas
    T= tarde = 6 horas
    D= Dia = 13 horas
    tendria q poner en cada celda M, T, D y al final me daria las suma de las horas.
    Espero que me haya explicado bien y que tenga solucion.
    GRACIAS

  176. 182 ALEJANDRO Diciembre 28, 2008 a las 9:54 pm

    MUCHAS GRACIAS, ME SIRVIO MUCHO Y A LA PRIMERA ME SALIO

  177. 183 omar Diciembre 29, 2008 a las 2:09 pm

    por fin algo que realmente sirve ..!!

  178. 184 Jose Ugaz Diciembre 30, 2008 a las 9:35 am

    Excelente, grn aporte y grcias por compartir tus conocimientos.

  179. 185 Cesar Ramirez Diciembre 30, 2008 a las 12:52 pm

    Gracias te felicito corrio a la primera aunque lo modifique para la moneda de mi pais Venezuela

  180. 186 anyha Diciembre 30, 2008 a las 3:31 pm

    Hola.
    esta increíble el dato,
    solo puedo decir …. gracias mil!
    saludos!

  181. 187 gerardo Enero 2, 2009 a las 7:14 pm

    EXTRAORDINARIO!!!

    Si funciona, y funciona muy bien. (como dicen por ahi)

    Lo que esta perfecto es la explicación. Desconozco tu profecion, pero doy gracias que personas como tu compartan sus conocimientos.

    Nuevamente, MIL GRACIAS.

  182. 188 Francisco Enero 9, 2009 a las 12:34 pm

    Gracias amigo me sirvio mucho, una pregunta y para cambiar a la moneda de dòlares que debo hacer.

    Saludos Cordiales
    Francisco

  183. 189 Fabian Gonzalez Enero 9, 2009 a las 12:58 pm

    Sr. Mil gracias por tu apoyo.. como varios de los comentarios… te confirmo es la mejor explicacion y guia de como hacer esta funcion…

    Gracias por tu ayuda….

    Saludos desde la tierra del Sarapé….

  184. 190 raul de nuevo laredo Enero 9, 2009 a las 10:50 pm

    tanto que batalle, si hubiese visto este blog antes, no hubiese batallado tanto.

    Tengo un problema, en una computadora copie el libro con otros nombres y me aparecio un error, me aparece: ” #¿NOMBRE? “, solo pude trabajar con con un solo libro y no pude hacerlo con ningun otro, me aparecia: ” #¿NOMBRE? “.

    ¿que puedo hacer? ¿talvez hice algo mal?

    Atte., Raul

  185. 191 GIO Enero 10, 2009 a las 12:07 am

    GRACIAS ESTO ESTA EXCELENTE Y LE HICE ALGUNAS MODIFICACIONES EN PASARLO A DOLARES AMERICANOS

  186. 192 Philips Enero 13, 2009 a las 1:43 pm

    gracias amigo, por compartir cuestiones que muchos suelen quedarse con ellas y lo peor q no son de su autoria, muy loable lo que haces por todos los neófitos que buscamos y buscamos por todos lados. Jaja gracias

  187. 193 Richhy Enero 15, 2009 a las 6:51 pm

    Me podria decir como le quito los parentesis

    delarivaricardo@turbonett.com

    gracias

  188. 194 LUIS OROZCO Enero 16, 2009 a las 2:40 pm

    CHULADA

    DEBES ESTAR CANSADO DE TANTA FELICITACION. PERO EL TUYO FUE EL UNICO QUE ME DIO RESULTADO DE VARIAS CONSULTAS.

  189. 195 Elizabeth Enero 22, 2009 a las 4:42 pm

    Muchas Gracias!!!
    ES una EXCElente Aportacion!!!!!

  190. 196 CARLOS EBRIQUEZ Enero 23, 2009 a las 12:25 am

    FELICIDADES, SABES EXPLICAR MUY BIEN ME SALIO A LA PRIMERA Y BUSQUE VARIOS, NINGUNO LO PUDE USAR.
    ESTE ES EL MEJOR
    GRACIAS

  191. 197 Gerardo Serratos Enero 23, 2009 a las 3:25 pm

    Simplemente !Excelente! si me sirvio muchas gracias….

  192. 198 Cesar Armando Febrero 7, 2009 a las 1:38 pm

    Esta super tu programa……….me saco de un apuro mil gracias y que sigas teniendo exito

  193. 199 HERNANDO Febrero 10, 2009 a las 4:21 pm

    MUCHAS GRACIAS POR ESTE METODO ,SOLAMENTE TENGO DIFICULTAD PORQUE AL GUARDARLO SO SE SOSTIENEN LOS CAMBIOS Y CUANDO SE VUELVE A ABRIME RECIBE LA FORMULA.
    EN ESPERA DE SU RESPUESTA GRACIAS.

  194. 200 Carlos Febrero 10, 2009 a las 6:12 pm

    tienes alguna solución para convertir numeros de horas y minutos en texto?, por ejm. para 5:13 obtener “cinco horas trece minutos”?. muchas gracias, anticipadamente.

  195. 201 Carlos Febrero 10, 2009 a las 7:33 pm

    siguiendo mi pregunta anterior, pudiera ser también: 5:13 a “cinco horas 13/60″?. Gracias.

  196. 202 julieta Febrero 11, 2009 a las 9:49 pm

    muchas gracias por esta explicación ya tenia mucho buscando y no entendia

  197. 203 Rene Febrero 12, 2009 a las 6:30 pm

    HOLA AMIGO MUCHISIMAS GRACIAS POR TU APORTE …CONSULTE A MUCHOS ….NO MEDIERO ESTO ES EL UNICO DE UD FUNCIONO GRACIAS A UD…SOLO UNA PREGUNTITA SI YO QUIESIERA EN SOLES Y ADEMAS QUE DE CON TENTIMOS MAS…GRACIAS.

  198. 204 Rene Febrero 12, 2009 a las 6:30 pm

    HOLA AMIGO MUCHISIMAS GRACIAS POR TU APORTE …CONSULTE A MUCHOS ….NO MEDIERO ESTO ES EL UNICO DE UD FUNCIONO GRACIAS A UD…SOLO UNA PREGUNTITA SI YO QUIESIERA EN SOLES Y ADEMAS QUE DE CON CENTIMOS MAS…GRACIAS.

  199. 206 jorge Febrero 13, 2009 a las 1:21 pm

    esta muy buena
    si tengo un problema tengo que cuadrar los centavos ya que aca no trabajamos con estos y si es menor que 0.49 debe vajar y si es mayor a 0.5 debe subir

    ejemplo 135,49 debe quedar en 135 y si es 135,51 debe quedar en 136
    si se puede Haser algo

    gracias

  200. 207 jose guadalupe jacinto Febrero 14, 2009 a las 1:09 pm

    homabre eres el primero que explica con toda facilidad este show, la verdad me quede con los ojos cuadrados, funciona perfectamente.. lo puede en excel 2007 es un poco diferente la entrada pero es lo mismo, gracias.. y que tengas toda la suerte del mundo por ser tan amable de compartir lo que sabes.

  201. 208 NANCY HERNANDEZ Febrero 16, 2009 a las 9:58 am

    Muchisimas gracias por el dato no sabes de cuanta utilidad, gracias por explicarlo de una manera tan sencilla y aprovechando tengo un problema al teclear una cifra en cualquier libro de excel en mi mauina en vez de apracer la cifra $1,000.00 que seria la manera correcta aparece $1.000,00 (me cambia los puntos por las comas) ya cambie el tipo de letra verifique que sea tipo modena lo cambie a contabilidad y nada quisiera saber si podrias ayudarme PORFAVOR!!!!! de verdad es algo muy importante para mi ya que yo elaboro facturas y las cifras deben ir correctamente MUCHAS GARACIAS!!!!

  202. 209 LUIS Febrero 16, 2009 a las 9:05 pm

    GRACIAS,GRACIAS,GRACIAS. De verdad que ayudo esto. GRACIAS
    Si en algo puedo servir contactame.

  203. 210 Arturo Febrero 17, 2009 a las 4:41 pm

    Gracias, muy buen codigo y de mucha ayuda.

  204. 211 Gabriel Are Febrero 21, 2009 a las 12:19 am

    gonzalo te felicito por compartir con todos nosotros informacion que es muy util, muchas gracia

  205. 212 JORGE L HERNANDEZ A Febrero 22, 2009 a las 5:25 pm

    Excelente !!! Muy ingenioso, gracias por compartir tus conocimientos. yo lo habia logrado generando una base de datos de cierta cantidad de numeros y textos, y utilizando varias funsiones, pero se hacia muy pesado el archivo con tanto texto.

    Nuevamente agradesco.

  206. 213 Lupita Febrero 25, 2009 a las 7:07 pm

    Muchas gracias me ayudo muchisimo su macro, al igual que el articulo encontraba otras pero no se ajustaban a mis necesidades.
    Felicidades por su articulo.

  207. 214 MIGUEL ANGEL PEREZ Febrero 25, 2009 a las 8:44 pm

    excelente

    Felicitaciones al creador de esta macro, es de mucha ayuda.

    yo habia hecho un pequeño ejercicio utilizando la funcion buscarv,y formulas condicionales. pero solo hasta miles. es bastante complicado programar las formulas mas alla de 9.999,99

    esta macro la modifique para adaptarla a los Bolivares, si alguien la quiere solo pidamela a mi correo magelp#hotmail (sustituyan # por @ y agreguen .com) es para evitar copiadores automaticos de correos.

  208. 215 Aron Febrero 26, 2009 a las 7:08 pm

    Mi muy estimado Sr. gonzalo_conta
    Estoy preparando un documental para intentar explicar la actual crisis económica (escribo esto el 26/feb/2009) y como las cifras que se manejan son totalmente inasibles para la mente, trataré de graficar las mismas fraccionandolas.
    Su valioso aporte es de enorme ayuda para este trabajo que lo estoy haciendo también, sin ánimo de lucro, ya que mi trabajo es la fotografía. -Si me contacta por correo electrónico le enviaré el archivo de fotografias de la actividad cultural de mi ciudad-
    Ahora bien, logre hacer algunas modificaciones para que quede asi como le muestro, pero el sistema deja de funcionar a partir de mil millones. ¿Cual puede ser la solución?

    1 UN
    10 DIEZ
    100 CIEN
    1.000 UN MIL
    10.000 DIEZ MIL
    100.000 CIEN MIL
    1.000.000 UN MILLON
    10.000.000 DIEZ MILLONES
    100.000.000 CIEN MILLONES
    1.000.000.000 MILLONES
    10.000.000.000 #¡VALOR!
    100.000.000.000 #¡VALOR!
    1.000.000.000.000 #¡VALOR!
    10.000.000.000.000 #¡VALOR!
    100.000.000.000.000 #¡VALOR!
    1.000.000.000.000.000 #¡NUM!
    10.000.000.000.000.000 #¡NUM!
    100.000.000.000.000.000 #¡NUM!

  209. 216 LUISENRIQUE Marzo 1, 2009 a las 1:28 am

    EXELENTE APORTACION Y LA VERDAD FUE EL MAS SENCILLO Y MEJOR EXPLICADO DE LOS QUE HABIA EN LA RED. MUCHAS GRACIAS Y QUE GRAN TALENTO TIENES SALU2 !!! ATTE. KIKE1984

  210. 217 Luis Valenzuela Marzo 2, 2009 a las 8:03 pm

    Muchisimas gracias, me ha servido mucho.
    Muy clara la explicaciòn.
    Tambien gracias a “Pelayo” , pues lo guardè como El explica y me funciona cada vez que abro Excel.

  211. 218 JOSE DIAZ Marzo 3, 2009 a las 4:49 pm

    mil gracias esta excelente tenia una semana de andarlo buscando y nada me funcionaba. solo es de leer detenidamente y un poco de concentracion y ya todo esta dado, este man es de miedo, gracias

  212. 219 Victor Marzo 4, 2009 a las 2:38 pm

    Muchas gracias, funciona muy bien.

    Sin embargo, despues de guardar y salir de Excel (2007), la siguiente vez que entro no funciona.

    ¿Alguien sabe porque?

  213. 220 Anónimo Marzo 4, 2009 a las 5:22 pm

    mucha gracias muy bueno

  214. 221 Allan Marzo 5, 2009 a las 2:49 pm

    debes de habilitar la macro, una pregunta donde quito la palabra un mil, que solo diga mil

  215. 222 anonimo Marzo 9, 2009 a las 5:03 pm

    elcodigo esta muy bien, tengo una duda, como lo puedo integrar a un formulario a la hora de ponerlo como boton de comando me pide un end sub al aplicarselo al final me sigue marcando error gracias por la informacion y en si el codigo es de muchisima ayuda gracias por compartir

  216. 223 Margarita Marzo 17, 2009 a las 3:27 pm

    Mil gracias por la explicacion tenia mucho tiempo queriendo hacer eso pero nunca lo habia logrado

    Gracias

  217. 224 Eliana Marzo 17, 2009 a las 4:58 pm

    Muchas pero muchas gracias de verdad, hacía bastante tiempo que estaba buscando esta fórmula pero no la había podido encontrar por ninguna parte así de simplificada y ejemplificada a la vez, nuevamente muchas gracias….Atentamente, Eliana

  218. 225 Anónimo Marzo 19, 2009 a las 1:04 am

    CONTA GRACIAS POR EL CODIGO ESTA EXCELENTE Y SOBRETODO GRACIAS POR COMPARTIRLO, UNA PREGUNTA, QUEIERO QUE TAMBIEN LOS CENTAVOS LOS DESCRIBA EN LETRAS COMO LE HAGO POR FAVOR

    ATENTAMENTE
    HUGO

  219. 226 Diana Marzo 24, 2009 a las 7:16 pm

    Hola Gonzalo, necesito convertir números en letras del 1 hasta un millón pero no con código “Macro”.
    Estoy trabajando con matrices y la fórmula para resolverlo tiene que estar en funciones sencillas como(Si, concatenando,buscar, etc.)
    La respuesta tiene que darme en una sóla casilla.
    Por favor deme ideas de cómo puedo resolverlo. Gracias

  220. 227 Ricardo Guzman Marzo 26, 2009 a las 8:52 pm

    MIl gracias un macro muy util y buenisimo

  221. 228 MARCELO Marzo 27, 2009 a las 6:27 pm

    Gacias mil……

  222. 229 ALEJANDRO CHILE Abril 4, 2009 a las 11:43 am

    ESTIMADO SEÑOR:

    QUISIERA AGRADECER POR ESTA INFORMACION QUE HA COMPARTIDO HE BUSCADO DURANTE BASTANTE TIEMPO ESTA INFORMACION Y LA QUE UD HA PUBLICADO HA SIDO MUY METODICA Y CLARA, SIN EMBARGO SE ME PRESENTO EL SIGUIENTE PROBLEMA Y QUISIERA SI UD. ME PUDIESE EXPLICAR COMO PODER SOLUCINARLO.

    EL CODIGO ME HACE LA CONVERSION HASTA 999 MILLONES Y NUESTRA BASE DE DATOS IMPLICA VALORES SOBRE LOS MIL MILLONES, HE TRATADO DE MODIFICAR EL CODIGO SIN RESULTADOS. AGRADECERIA QUE UD. ME PUDIESE AYUDAR EN COMO MODIFICAR EL CODIGO PARA QUE CONVIERTA VALORES SOBRE LOS MIL MILLONES.
    POR EJEMPLO 1.245.576.879 PESOS

    AGRADECIENDO SU COLABORACION.
    ALEJANDRO

  223. 230 gchable Abril 4, 2009 a las 11:58 am

    ALEJANDRO CHILE, Con este pequeño codigo por el momento no es posible, mira aqui por favor http://www.teladearana.es/todo-informatica/84-convertir-nos-a-su-equivalente-en-letras.html

  224. 231 ridae Abril 6, 2009 a las 7:37 pm

    oyes muchas gracias que dios te bendiga estoy segura que puedes entrar a la asociación MENSA

    SALUDOS

  225. 232 Erisel Gomez Abril 9, 2009 a las 1:08 pm

    Gracias si me sirvio despues de 4 hr en busqueda y entenderle por fin enconre la opcion como funciona mil gracias hehehee

  226. 233 El autentico y unico Don Abril 15, 2009 a las 2:03 pm

    No manches, esta con ganas tu solucion, te avientas bato…….excelente, muchisimas gracias……

  227. 234 axcarq Abril 16, 2009 a las 1:21 pm

    Me sigue saliendo #¿NOMBRE? y ya hice lo que mencionaste de bajar la seguridad de macros a media q hago ?????

  228. 235 Walter Paz Abril 17, 2009 a las 6:24 pm

    Muchas gracias por el aporte me parece genial y muy bien explicado por cierto.

  229. 236 Jose Mora Abril 17, 2009 a las 9:53 pm

    Hola espectacular tu formula muchas gracias, solo una consulta señor como puedo hacer para que escriba solamente hasta pesos
    por ejemplo:

    450 = son : cuatrocientos cincuenta pesos

  230. 237 JOSE DE JESUS Abril 20, 2009 a las 5:57 pm

    ESTA BIEN POR QUE AL PRINSIPIO SI DIO EL NUMERO LUEGO AL CAMBIAR LA CONTIDAD DE LA CELDA YA NO SIRVE

  231. 239 Elizabeth Abril 27, 2009 a las 12:39 pm

    La verdad muchisisisisisisimas GRACIAS!!!!!

  232. 240 sandy Mayo 5, 2009 a las 4:55 pm

    gracias me sirvio de mucho muchas gracias….me salvaste

  233. 241 Matias Medina Mayo 6, 2009 a las 10:10 am

    Hola
    Aunque sea redundante, esta muy profesional tu explicacion.
    Pero no puedo grabar lo realizado en visual, me arroja un error y me dice que “no se puede realizar la operacion solicitada”
    Porfavor ayudame, estaria muy agradecido.
    Saludos

    Matias Medina

  234. 242 Rossy Mayo 11, 2009 a las 6:11 pm

    Muchisisisisisisimas gracias
    eres un angel

  235. 243 VICTOR Mayo 16, 2009 a las 10:07 pm

    QUE EXCELENTE INFORMACION QUE NOS HAS DADO. TE LO AGRADEZCO
    PODRIAS DECIRME COMO CAMBIAR ALGUNAS INSTRUCCIONES PARA QUE SE LEA ALGO ASI COMO ESTO:

    23.52 …… VEINTITRES Y 52/100 NUEVOS SOLES 0

    71.33……. SETENTIUNO Y 33/100 NUEVOS SOLES

    ES PARA PERU , MUCHAS GRACIAS DENUEVO.

  236. 244 Marco Mayo 20, 2009 a las 11:49 am

    SR. mis respetos
    excelente codigo, anteriormente contaba con uno pero no añadía MN 00/100, lo cual era un problema, con este codigo tuve algunos problemas pero leí todas tus sugerencias a las preguntas que te hicieron después y finalmente quedo en excel 2007.
    bien hecho.

  237. 245 Enrique Mayo 21, 2009 a las 9:47 am

    Hola, funciono muy bien!!, ¿como puedo hacer para utilizar esta funcion en cualquier libro, sin que este abierto en el cual lo grave?

    agdezco comentario

  238. 246 HOGO1 Mayo 21, 2009 a las 7:07 pm

    QUIERO AGRADECERTE ESTA UTIL INFORMACION QUE COMPARTES. De todas las que he probado, es la mas sencilla y eficiente, y… de nuevo GRACIAS

  239. 247 Fer Mayo 22, 2009 a las 10:18 am

    Es increible que los usuarios lleguemos a este nivel de entendimiento y se logre que el conocimiento se difunda libre y democraticamente.

    Muchas felicidades a todas las personas que contribuyeron a esta ayuda que es de utilidad para muchos.

  240. 249 CARLOS Mayo 28, 2009 a las 9:44 am

    GONZALO Buenos días. Como le puedo hacer para que esta funcion de convertir numeroa a letras en Excel. Me funcione para cualquier libro. Sin necesidad de hacer el procedimiento cada ves que lo quiera aplicar para otros libros, ya que no me esta funcionando para más libros. Te agradesería michisimo tu ayuda…………… Gracias

  241. 250 gchable Mayo 28, 2009 a las 10:02 am

    Carlos, lo que tienes que hacer es insertar el “modulo” en cada uno de tus libros de trabajo.

    Cuando creas un libro nuevo y si vas a usar la funcion, tienes que insertar el codigo, ya que si agarras la funcion de otro libro se perderá al cerrar.

    saludos.

  242. 251 CARMEN Mayo 29, 2009 a las 11:10 am

    HOLA, FELICIDADES Y MUCHISIMAS GRACIAS, PERSONAS COMO TU HAY POCAS, Y QUE DIOS TE SIGA BENDICIENDO CON MAS INTELIGENCIA DE LA QUE TIENES, Y ESPERO LA SIGAS COMPARTIENDO POR QUE NO TODOS LA COMPARTEN SON EGOISTAS.
    OTRAVEZ MIL GRACIAS.

  243. 252 erisel Mayo 29, 2009 a las 2:13 pm

    Oye mil gracias, esta super way

    me has salvadola vida, saludos desde cancun

  244. 253 Mimi Mayo 29, 2009 a las 2:37 pm

    Me ayudo muchisimo. Gracias por compartilo¡¡¡¡¡

  245. 254 gchable Mayo 29, 2009 a las 2:45 pm

    Orale erisel, vayamos a la yaxchilan a tomar unas chelas!

  246. 255 SANTANA90210 Mayo 29, 2009 a las 7:05 pm

    OMG……….. MEN, ACABAS DE SOLUCIONAR… UN PROBLEMA QUE TENIA DESDE YA HACE TIEMPO…. Y PROBE CON 2 O TRES MAS DE OTRAS PERSONAS… PERO NO FUNCIONABAN…. LA TUYA… FUNCIONA A LA PERFECCION… GRRRAAAAACIAAAS!!!!

  247. 256 Rafael Junio 2, 2009 a las 10:08 am

    Quiero agradecerte la facilidad y el apoyo para utilizar parte de tu trabajo, ya que me ha sido de gran apoyo y utilidad.
    Muchas gracias

  248. 257 yadira Junio 2, 2009 a las 10:37 pm

    muchisisimas gracias es exelente
    estaba como loquita buscando la forma y apenas lo encontre con usted,
    LO LOGREEEEEEEEEEEEEEEEEEEE
    TENIA SEMANAS INTENTANDO
    Y AL FIN LO LOGREEEEE
    GRACIAS CONTA_CONZALO MILLLLLLLLLLLL GRACIAS 00/100

  249. 258 Constancio Cordoba Junio 3, 2009 a las 10:43 pm

    Muchas gracias, por tu colaboraciòn, Dios te bendice siempre a ti y a tu Familia.

    Saludos desde Oaxaca, que cuando quieras pasar unas vacaciones con gusto te atendere.

  250. 259 FREDDY HDEZ PARRA Junio 4, 2009 a las 12:06 am

    MASTER . . . MUCHAS GRACIAS

    ME ES MUY ÚTIL TU MACRO.

    SALUDOS DESDE VERACRUZ

  251. 260 Fidel Cruz Junio 9, 2009 a las 3:19 pm

    Hola:

    Gracias por compartir tu trabajo con las demas personas. Esta macro es muy importante para realizar gran cantidad de trabajo.

    Sin embrago yo segui los procedimientos para copiar la macro, la primera funcionó pero al volver a copiarla al siguiente dia no funcionó, sale el siguiente mensaje:

    #¿NOMBRE?

    Todas las macros estan habilitadas, esto lo he repetido como 10 veces y no he logrado.

    ¿Hay otra forma de guardarlo?

    Gracias por tus aportes.

    Fidel Cruz

  252. 261 CARLOS ROMO Junio 10, 2009 a las 8:33 am

    Hola Fidel
    A mi también me paso lo mismo. lo que tienes que hacer es guardar la macro en personal.xls y de esta manera va estar disponible para cualquier libro. lo que tiene que hacer es anteponer a la función PesosMN( ) personal.xls! osea quedaría de la siguiente manera: =personal.xls!PesosMN(A1).
    Es importante que solamente la graves una sola ves, en personal.xls, ya que de lo contrario no va a funcionar.
    Espero sea de utilidad………….Saludos

  253. 262 Fidel Cruz Junio 10, 2009 a las 2:58 pm

    Hola Mr. Gonzalo

    Como puedo borrar las macros que tengo guardadas, o sea dejar en cero todo.

    Tengo una urgencia con esa macro. me ahorraría gran cantidad de trabajo.

    Gracias por su ayuda

  254. 263 Esme Junio 11, 2009 a las 11:11 am

    Wooo!!! Genial …. mi respeto … super tu respuesta..funciona excelente…

    Saludos Esme

  255. 264 Liz Valadez Junio 12, 2009 a las 11:38 am

    Super!!! ya lo utilice y funcionó a la perfección… MIL GRACIAS

    Saludos desde Queretaro, México

    LIZ.

  256. 265 Jose Luis Junio 16, 2009 a las 6:23 pm

    Excelente!!! realmente genial… estoy facinado con tu grandeza amigo por compartirlo y con los que lo crearon… esta super facil con tu excelsa explicación…. nuevamente gracias.

  257. 266 Moralitos Junio 17, 2009 a las 10:05 am

    Saludos y gracias por aportar ese conocimiento acabo de realizarlo en mi maquina. lei que bajando el nivel de seguridad de la macro al abrir uno nuevo, podria utilizarlo pero no funciona te garadecere si me ayudas en ello, y gracias nuevamente

  258. 267 JULIO Junio 17, 2009 a las 10:45 pm

    MAS QUE EXCELENTE LA EXPLICACION PARA CREAR LA FORMULA Y EN HORA BUENA AL CREADOR… ES TODO UN GENIO ¡¡¡

  259. 268 HUMBERTO Junio 19, 2009 a las 11:39 am

    EXELENTE GRACIAS ESTUVE BUSCANDO ALGO ASI ASE MUCHO TIEMPO Y ESTE ESEL MEJOR ESTA MUY BIEN EXPLICADO LE HICE ALGUNAS MODIFICACIONES PARA LO QUE NECESITO Y ME FUNCIONO CMO YO LO QUERIA y FUNCIONA PERFECTO EN EXEL 2007 GRACAS QUE BUEN APORTE

  260. 269 Marcel Junio 25, 2009 a las 4:31 pm

    Exelente aporte, muchas gracias.

  261. 270 Jose Pablo Junio 30, 2009 a las 6:40 pm

    Muchas gracias en verdad despues de buscar mucho fue la unica realmente util. Me gustar[ia quitar los numeros que salen al final 98/100 o al menos saber su significado.

    Gracias

  262. 271 seven Julio 2, 2009 a las 12:04 pm

    buenas este apartado con esta explicacion esta exelente es el unico sitio donde pude lograr esto. muhas gracias porla ayuda

  263. 272 Edg@r Julio 2, 2009 a las 1:54 pm

    Su pagian es genial podemos seguir aprendiendo cada dia mas gracias a personas que dejan abietos sus conocimientos hacia los demas de verdad felicitaciones

  264. 273 Ana Julio 2, 2009 a las 3:01 pm

    Estimado Gonzalo,

    Gracias por tu aporte, lo he adoptado a mi moneda y es de gran ayuda; pero tengo un problema, cuando necesito escribir en letras el numero 1,001 o cualquier numero que por unidad sea 1, la formula me da como resultado “UN” y deberia ser “UNO”, por ejm.

    Numero: 1,001.00
    Fórmula: UN MIL UN CON 00/100 NUEVOS SOLES
    dederia ser: UN MIL UNO CON 00/100 NUEVOS SOLES

    Numero: 201.00
    Fórmula: DOSCIENTOS UN CON 00/100 NUEVOS SOLES
    dederia ser: DOSCIENTOS UNO CON 00/100 NUEVOS SOLES

    Tu crees que esto tiene solución?, de todas maneras Gracias por tu ayuda!

  265. 274 raul caro o. Julio 9, 2009 a las 9:36 pm

    GRACIAS, GRACIAS, MUCHAS GRACIAS. ES JUSTO LO QUE NECESITO. FUNCIONÓ PERFECTAMENTE.

  266. 275 DIEGO SOLANO Julio 10, 2009 a las 7:06 pm

    En excell 97 existia en la barra de herramientas Visual Basic; pero en excell 2007 en la barra no aparece este menu (HERRAMIENTAS), entonces que lo reemplazo? Como hago para trabajar con Visual Basic? desd excell 2007

  267. 276 Daniel Lama Romero Julio 11, 2009 a las 12:35 am

    Hoye esta muy bueno los pasos que nos das me agrado mucho la verdad le hice una mejoria para quitarle el (Son) y hacer que me escribiera (Veinte y un mil ) etc pero tube un problema la verdad en mi factura que realize esta fue la cantidad 961mts por $ 3.50 son sub total $ 3,363.50 mas el 15% que es 504.53 hal hacer la suma completa nos da $ 3,868.03 estamos claro pero al hacer =pesosmn(xcelda) meda en letras (Tres mil ochocientos sesenta y ocho pesos 02/100 mn a lo que me refiero por que me da en centavos 2 si debe de ir el numero 03/100mn espero me puedas hechar la mano muchas gracias

    • 277 gchable Julio 11, 2009 a las 9:21 am

      Daniel Lama, tienes que redondear tus numeros a dos decimales o truncar, ya que si aumentas el numero de decimales visibles te dras que tienes 3,868.025.

  268. 278 PABLO Julio 17, 2009 a las 2:46 pm

    SALUDOS, TARDE MAS DE 2 AÑOS Y SOLO TU EXPLICACION FUE LA MAS SENCILLA, GRACIAS

  269. 279 GUS Julio 20, 2009 a las 1:31 am

    QUE TAL GONZALO, HICE LO QUE DICES Y RESULTA QUE NO ME QUIERE FUNCIONAR, TAL VEZ SEA PORQUE ESTOY TRABAJANDO CON EXCEL 2007, CUANDO PRUEBO LA MACRO ME SALE ESTA LEYENDA: “ERROR DE COMPILACION, LOS COMENTARIO SOLAMENTE PUEDEN APARECER DESPUES DE End Sub, End Function, o End Property” Y ME SEÑALA ESTE RENGLON DE LA FORMULA QUE APARECE AL FINAL, ActiveCell.FormulaR1C1 = “1500.21″ SELECCIONADA LA CANTIDAD QUE APARECE ENTRE COMILLADA, ME PODRIAS DECIR QUE DEBO HACER PARA QUE FUNCIONE?, DE ANTEMANO TE AGRADEZCO, SALUDOS!!

  270. 280 CESAR RODRIGUEZ Julio 22, 2009 a las 12:13 pm

    DE POCA MAESTRO, ERES LA LEY, TE VAS A IR AL CIELO DIRECTITO, INSISTO DE POCA, MIS ALABANZAS Y MEJORES DESEOS

    ATTE

    EL TANQUE RODRIGUEZ

  271. 281 Enrique Julio 23, 2009 a las 12:46 am

    Simplemente te pasaste muchas muchas gracias por compartir amigo; estoy tratando de ponerlo a soles que es lo que se usa en mi pais :) espero me salga

  272. 282 PARKER Julio 26, 2009 a las 6:53 am

    Genial, gracias por compartir amigo,genial eres lo maximo.

  273. 283 Hector Julio 29, 2009 a las 6:13 pm

    MIL GRACIAS ERA LO QUE ESTAB BUSCANDO

  274. 284 Mauro Julio 30, 2009 a las 8:13 am

    Hola
    Muchas gracias por compartir tus conocimientos, hace unos días copie la programación del BV, y adapte a mis necesidades y funciona muy bien. Muy buen trabajo has realizado. He tratado de hacer una modoficación y no he podido realizarla, agradezco tu ayuda, la modicicación que quiero hacer consiste en los valores terminados en 1 (uno)mayores a 30 (treinta) por ejemplo 31 (treinta y uno); la macro lo escribe “treinta y un”, y si modifico en el sétimo renglon para que diga “uno”; luego cuando valores mayores a 999, por ejemplo; 1000, la macro me escribe “uno mil”. Gracias una vez más. Saludos. Mauro

  275. 285 MGarza Julio 31, 2009 a las 9:43 pm

    Excelentisimo !!! Gracias…

  276. 286 Fernando Agosto 2, 2009 a las 11:58 pm

    Mui Buena informacion
    mui bien explikada
    Graxias x este aporte
    esta mui bueno
    me salio todo bien
    no tube ningun problema para
    entenderle.. mui bueno
    GraXias Hasta LUego

  277. 287 LuisB Agosto 3, 2009 a las 5:09 pm

    Se te gardece wue te tomes el tiempo de explicar estos temas.
    Gracias, buenos aportes

  278. 288 renegado Agosto 3, 2009 a las 11:56 pm

    HOMBRE SI ALGUNA VES NESCITAS ALGO Y YO PUEDO AYUDARTE CUENTA CON ELLO EN CUALQUIER TIEMPO MI Email renegadohn@hotmail.com
    no es broma
    y GRACIAS

  279. 289 renegado Agosto 4, 2009 a las 12:17 am

    renegado_hn@hotmail.com ERROR DE DEDO EL ANTERIOR ES MI MAIL DISCULPA

  280. 290 MARCO_CHILE Agosto 4, 2009 a las 8:35 am

    Hola estimado,

    Me sumo a todas las felicitaciones que haz tenido por el aporte que entregas.

    Solo queria pedirte un grandisimo favor. Lamentablemente no se mucho de excel, pero pude aplicar la funcion en una planilla, pero lamentablemente aca en CHILE, nuestra moneda trabaja con valores enteros y sin decimales, ni centavos, por lo que te agradeceria si nos puedes realizar la modificacion para que al colocar un numero, solo escriba hasta la palabra “Pesos”.

    Trate de redondear los valores, pero aun asi, aparece las siglas “00/100 M.N”

    la idea es que fuera de la siguiente manera, ejemplo:

    8.772.141 = “OCHO MILLONES SETECIENTOS SETENTA Y DOS MIL CIENTO CUARENTA Y UN PESOS”

    Si algunos de los cibernautas sabe como poder solucionar este inconveniente, por favor envienme mail a:

    contab1@veterquimica.cl

    Muchisimas gracias por tu aporte GCHABLE desde Chile “el ultimo rincon del mundo”

    Saludos

  281. 291 CARLOS Agosto 5, 2009 a las 2:32 pm

    OYE ES MUY SENCILLA TU EXPLICACION GRACIAS…

  282. 292 esteban Agosto 6, 2009 a las 10:36 am

    Muchas gracias por el codigo me ahorro mucho tiempo para terminar el mio.
    REspecto a la pregunta de marco de chile, solo debes modificar penultima linea del código:
    original:
    PesosMN = “SON: (” & PesosMN & IIf(tyCantidad > 1, ” PESOS “, ” PESO “) & Format(Str(lyCentavos), “00″) & “/100 M.N.)”

    para que salga como tu quieres:
    PesosMN = “” & PesosMN & IIf(tyCantidad > 1, ” PESOS “, ” PESO “) & Format(Str(lyCentavos), “00″) & “/100 .”

    espero te sirva.
    gracias a quien programo el codigo.

  283. 293 David Agosto 7, 2009 a las 4:59 pm

    Tu macro funciona de maravilla pero, cuando lo grabo con la opción libro excel habilitado para macros ya que tengo Office 2007, y lo vulevo a abrir me sale un error.

    Que puedo hacer?

  284. 294 jazcris Agosto 10, 2009 a las 11:21 am

    si se necesita porner otra monea como es caso mio usamos “soles” solo cambias en el codigo donde dice “PESOSMN” POR “SOLESMN” Y EN VES DE SOLES DE FORMA PLURAL POER SOL EN FORMA SINGULAR GRACIAS POR TODO ESTE PUEDE SER MUY BUENO PARA REALIZAR FACTURAS O ALGO ASI
    SALUDOS

  285. 295 Marco Antonio Cardenas Agosto 12, 2009 a las 8:49 pm

    Muchisimas gracias estupendo quisiera saber si con otras hojas se hace el mismo procedimiento o se graba para todas
    Bogotà

  286. 296 Connie Sorcia Agosto 13, 2009 a las 10:57 am

    Excelente!!!!! en verdad, tarde mucho tiempo buscando algo así y sobre todo con el 00/100 m.n., más que bien, por otro lado tuve algunos problemas para grabar el archivo ya que cuando lo volvia abrir ya no estaba la formula :) , pero revisando todo el blog, me encontre la solución de guardarlo como un complemento, así que pensaron en todo. Felicidades y sobre todo por compartirlo en la red.

  287. 297 Marco Antonio Popoca Agosto 20, 2009 a las 9:40 pm

    Hola solo quiero decirte que eres increible, me sirbio de mucho tu ayuda, te agresco por compartir esto con todos nosotros, seguire visitando tu pagina, gracias.

  288. 298 JOSE DE JE Agosto 22, 2009 a las 12:10 am

    DESPUES DE BUSCAR Y BUSCAR, ENCONTRE LO MAS PRACTICO Y FACIL PERO SOBRE TODO UTIL, GRACIAS.

  289. 299 Anónimo Agosto 26, 2009 a las 10:39 am

    no le entendi a nada

  290. 300 Serapio Reséndiz Agosto 28, 2009 a las 2:03 am

    Hola,

    Me encontre esta macro de la verdad ya no se donde y solo hice algunos pequeños cambios para mexico, si a alguien le puede servir, para el tipo de moneda solo hay que cambiar en la funcion la palabra peso por la moneda deseada y lo que consideren pertinente, este es el codigo:

    ‘Una vez que has ingresado tu macro a excel, cierra el Visual Basic y enseguida escribes la
    ‘formula donde quieras que aparesca el texto del número a convertir ejeplo: suponiendo que
    ‘la cantidad a convertir está en la celda A1 y quiero me texto en la celda B7, entonces
    ’selecciona la celda B7 y escribo la formula siguiente:

    ‘ =Numeros_Letras(suma(A1),”peso”,falso,”centavo”,”son: ( “,”/100 M.N. )”)

    ‘ Así, cualquier cantidad que escribas en A1, está formula te la dará en texto.

    Public Function Numeros_Letras(ByVal Numero As Double, _
    ByVal Moneda As String, _
    Optional Fraccion_Letras As Boolean = False, _
    Optional Fraccion As String = “”, _
    Optional Texto_Inicial As String = “”, _
    Optional Texto_Final As String = “”, _
    Optional Estilo As Integer = 1) As String
    Dim strLetras As String
    Dim NumTmp As String
    Dim intFraccion As Integer

    strLetras = Texto_Inicial
    ‘Convertimos a positivo si es negativo
    Numero = Abs(Numero)
    NumTmp = Format(Numero, “000000000000000.00″)
    If Numero < 1 Then
    strLetras = strLetras & "cero " & Plural(Moneda) & " "
    Else
    strLetras = strLetras & NumLet(Val(Left(NumTmp, 15)))
    If Val(NumTmp) = 1 Or Val(NumTmp) < 2 Then
    strLetras = strLetras & Moneda & " "
    ElseIf Val(Mid(NumTmp, 4, 12)) = 0 Or Val(Mid(NumTmp, 10, 6)) = 0 Then
    strLetras = strLetras & "de " & Plural(Moneda) & " "
    Else
    strLetras = strLetras & Plural(Moneda) & " "
    End If
    End If
    If Fraccion_Letras Then
    intFraccion = Val(Right(NumTmp, 2))
    Select Case intFraccion
    Case 0
    strLetras = strLetras & "con cero " & Plural(Fraccion)
    Case 1
    strLetras = strLetras & "con un " & Fraccion
    Case Else
    strLetras = strLetras & "con " & NumLet(Val(Right(NumTmp, 2))) & Plural(Fraccion)
    End Select
    Else
    strLetras = strLetras & Right(NumTmp, 2)
    End If
    strLetras = strLetras & Texto_Final
    Select Case Estilo
    Case 1
    strLetras = StrConv(strLetras, vbUpperCase)
    Case 2
    strLetras = StrConv(strLetras, vbLowerCase)
    Case 3
    strLetras = StrConv(strLetras, vbProperCase)
    End Select

    Numeros_Letras = strLetras

    End Function

    Public Function NumLet(ByVal Numero As Double) As String
    Dim NumTmp As String
    Dim co1 As Integer
    Dim co2 As Integer
    Dim pos As Integer
    Dim dig As Integer
    Dim cen As Integer
    Dim dec As Integer
    Dim uni As Integer
    Dim letra1 As String
    Dim letra2 As String
    Dim letra3 As String
    Dim Leyenda As String
    Dim TFNumero As String

    NumTmp = Format(Numero, "000000000000000") 'Le da un formato fijo
    co1 = 1
    pos = 1
    TFNumero = ""
    'Para extraer tres digitos cada vez
    Do While co1 <= 5
    co2 = 1
    Do While co2 1 Then
    Leyenda = “billones ”
    End If
    Case 2
    If cen + dec + uni >= 1 And Val(Mid(NumTmp, 7, 3)) = 0 Then
    Leyenda = “mil millones ”
    ElseIf cen + dec + uni >= 1 Then
    Leyenda = “mil ”
    End If
    Case 3
    If cen + dec = 0 And uni = 1 Then
    Leyenda = “millon ”
    ElseIf cen > 0 Or dec > 0 Or uni > 1 Then
    Leyenda = “millones ”
    End If
    Case 4
    If cen + dec + uni >= 1 Then
    Leyenda = “mil ”
    End If
    Case 5
    If cen + dec + uni >= 1 Then
    Leyenda = “”
    End If
    End Select

    co1 = co1 + 1
    TFNumero = TFNumero + letra3 + letra2 + letra1 + Leyenda

    Leyenda = “”
    letra1 = “”
    letra2 = “”
    letra3 = “”
    Loop

    NumLet = TFNumero

    End Function

    Private Function Centena(ByVal uni As Integer, ByVal dec As Integer, _
    ByVal cen As Integer) As String
    Dim cTexto As String

    Select Case cen
    Case 1
    If dec + uni = 0 Then
    cTexto = “cien ”
    Else
    cTexto = “ciento ”
    End If
    Case 2: cTexto = “doscientos ”
    Case 3: cTexto = “trescientos ”
    Case 4: cTexto = “cuatrocientos ”
    Case 5: cTexto = “quinientos ”
    Case 6: cTexto = “seiscientos ”
    Case 7: cTexto = “setecientos ”
    Case 8: cTexto = “ochocientos ”
    Case 9: cTexto = “novecientos ”
    Case Else: cTexto = “”
    End Select
    Centena = cTexto

    End Function

    Private Function Decena(ByVal uni As Integer, ByVal dec As Integer) As String
    Dim cTexto As String

    Select Case dec
    Case 1:
    Select Case uni
    Case 0: cTexto = “diez ”
    Case 1: cTexto = “once ”
    Case 2: cTexto = “doce ”
    Case 3: cTexto = “trece ”
    Case 4: cTexto = “catorce ”
    Case 5: cTexto = “quince ”
    Case 6 To 9: cTexto = “dieci”
    End Select
    Case 2:
    If uni = 0 Then
    cTexto = “veinte ”
    ElseIf uni > 0 Then
    cTexto = “veinti”
    End If
    Case 3: cTexto = “treinta ”
    Case 4: cTexto = “cuarenta ”
    Case 5: cTexto = “cincuenta ”
    Case 6: cTexto = “sesenta ”
    Case 7: cTexto = “setenta ”
    Case 8: cTexto = “ochenta ”
    Case 9: cTexto = “noventa ”
    Case Else: cTexto = “”
    End Select

    If uni > 0 And dec > 2 Then cTexto = cTexto + “y ”

    Decena = cTexto

    End Function

    Private Function Unidad(ByVal uni As Integer, ByVal dec As Integer) As String
    Dim cTexto As String

    If dec 1 Then
    Select Case uni
    Case 1: cTexto = “un ”
    Case 2: cTexto = “dos ”
    Case 3: cTexto = “tres ”
    Case 4: cTexto = “cuatro ”
    Case 5: cTexto = “cinco ”
    End Select
    End If
    Select Case uni
    Case 6: cTexto = “seis ”
    Case 7: cTexto = “siete ”
    Case 8: cTexto = “ocho ”
    Case 9: cTexto = “nueve ”
    End Select

    Unidad = cTexto

    End Function

    ‘Funcion que convierte al plural el argumento pasado
    Private Function Plural(ByVal Palabra As String) As String
    Dim pos As Integer
    Dim strPal As String

    If Len(Trim(Palabra)) > 0 Then
    pos = InStr(1, “aeiou”, Right(Palabra, 1), vbTextCompare)
    If pos > 0 Then
    strPal = Palabra & “s”
    Else
    strPal = Palabra & “es”
    End If
    End If
    Plural = strPal

    End Function

  291. 301 Jean Agosto 30, 2009 a las 2:20 pm

    Hola, amigo, esta bien claro la explicacion que das pero quisiera adaptarla para mi pais Peru, aqui por ejemplo en la facturacion se utiliza como sigue:

    imaginemos que el total de la factura es: S/. 1220.20
    eso en letras sería como sigue:

    SON: MIL DOSCIENTOS VEINTE CON 20/100 NUEVOS SOLES
    (asi es como quisiera que tu codigo arroje las letras)

    Trate de modificar tu codigo pero como no soy experto en esto no me sale, podrían ayudarme. Gracias.

  292. 302 BEN ANAYA Agosto 30, 2009 a las 8:40 pm

    Excelente explicacion, super clara, muchas gracias por tu aportacion.

  293. 303 Serapio Reséndiz Agosto 31, 2009 a las 9:10 pm

    hola un aporte más, en una macro en codigo menos larga que la anterior pero que te funciona igal con los decimales y los millones y billones, para quienes quieren la conversión de números a texto en el Perú la modifiqué en la línea siguiente:

    TFNumero = “( *** son ” & TFNumero & Leyenda1 & ” con ” & Mid(NumTmp, 17) & “/100 M.N. ) *** ”

    por lo tanto la misma línea quedará como sigue:
    TFNumero = “( son: ” & TFNumero & Leyenda1 & ” con ” & Mid(NumTmp, 17) & “/100 NUEVOS SOLES ”

    Claro está que no soy un experto ni mucho menos pero pobremente espero poder aportar algo de lo mucho que me han aportado los maestros.

    esta es la macro completa, sólo copiala y la pegas en el VB despues de pegar la macro cierras el BV y listo, la formula que has de itroducir donde deseas que aparesca el texto es: ejemplo =NumLetras(A1,1) “,1 para mayúsculas y ,2 para Minúsculas” y listo a trabajar con tus facturas,espero que les sirva de mucho. muchos Saludos, mi correo es resgros@hotmailcom

    Option Explicit
    Dim cTexto As String ‘Variable para las funciones
    Public Function NumLetras(ByVal Numero As Double, ByVal Mayusculas As Integer) As String
    Dim NumTmp As String
    Dim c01 As Integer
    Dim c02 As Integer
    Dim pos As Integer
    Dim dig As Integer
    Dim cen As Integer
    Dim dec As Integer
    Dim uni As Integer
    Dim letra1 As String
    Dim letra2 As String
    Dim letra3 As String
    Dim Leyenda As String
    Dim Leyenda1 As String
    Dim TFNumero As String
    If Numero < 0 Then Numero = Abs(Numero)
    NumTmp = Format(Numero, "000000000000000.00") 'Le da un formato fijo
    c01 = 1
    pos = 1
    TFNumero = ""
    'Para extraer tres digitos cada vez
    Do While c01 <= 5
    c02 = 1
    Do While c02 1 Then
    Leyenda = “Billones ”
    End If
    Case 2
    If cen + dec + uni >= 1 And Val(Mid(NumTmp, 7, 3)) = 0 Then
    Leyenda = “Mil Millones ”
    ElseIf cen + dec + uni >= 1 Then
    Leyenda = “Mil ”
    End If
    Case 3
    If cen + dec = 0 And uni = 1 Then
    Leyenda = “Millón ”
    ElseIf cen > 0 Or dec > 0 Or uni > 1 Then
    Leyenda = “Millones ”
    End If
    Case 4
    If cen + dec + uni >= 1 Then
    Leyenda = “Mil ”
    End If
    Case 5
    If cen + dec + uni >= 1 Then
    Leyenda = “”
    End If
    End Select

    c01 = c01 + 1
    TFNumero = TFNumero + letra3 + letra2 + letra1 + Leyenda
    Leyenda = “”
    letra1 = “”
    letra2 = “”
    letra3 = “”
    Loop
    If Val(NumTmp) = 0 Or Val(NumTmp) < 1 Then
    Leyenda1 = "Cero Pesos "
    ElseIf Val(NumTmp) = 1 Or Val(NumTmp) 0 Then
    cTexto = “veinti”
    End If
    Case 3: cTexto = “treinta ”
    Case 4: cTexto = “cuarenta ”
    Case 5: cTexto = “cincuenta ”
    Case 6: cTexto = “sesenta ”
    Case 7: cTexto = “setenta ”
    Case 8: cTexto = “ochenta ”
    Case 9: cTexto = “noventa ”
    Case Else: cTexto = “”
    End Select

    If uni > 0 And dec > 2 Then cTexto = cTexto + “y ”

    Decena = cTexto
    cTexto = “”

    End Function

    Private Function Unidad(ByVal uni As Integer, ByVal dec As Integer) As String
    If dec 1 Then
    Select Case uni
    Case 1: cTexto = “un ”
    Case 2: cTexto = “dos ”
    Case 3: cTexto = “tres ”
    Case 4: cTexto = “cuatro ”
    Case 5: cTexto = “cinco ”
    End Select
    End If
    Select Case uni
    Case 6: cTexto = “seis ”
    Case 7: cTexto = “siete ”
    Case 8: cTexto = “ocho ”
    Case 9: cTexto = “nueve ”
    End Select

    Unidad = cTexto
    cTexto = “”
    End Function

    Sub nl()

    ‘ nl Macro

    End Sub

  294. 304 Serapio Reséndiz Septiembre 1, 2009 a las 9:44 am

    Hola Apreciable JEAN

    Mil disculpas en el codigo anterior, no hice las correcciones pertinentes ya que no puse cuidado en lo que solitas, pero esta macro está lista pura lo que necesitas.

    Copiala desde la línea que esta enseguida y hasta el final.

    ‘ las indicasiones para la formula están al final de la macro…

    Option Explicit
    Dim cTexto As String ‘Variable para las funciones
    Public Function NumLetras(ByVal Numero As Double, ByVal Mayusculas As Integer) As String
    Dim NumTmp As String
    Dim c01 As Integer
    Dim c02 As Integer
    Dim pos As Integer
    Dim dig As Integer
    Dim cen As Integer
    Dim dec As Integer
    Dim uni As Integer
    Dim letra1 As String
    Dim letra2 As String
    Dim letra3 As String
    Dim Leyenda As String
    Dim Leyenda1 As String
    Dim TFNumero As String
    If Numero < 0 Then Numero = Abs(Numero)
    NumTmp = Format(Numero, "000000000000000.00") 'Le da un formato fijo
    c01 = 1
    pos = 1
    TFNumero = ""
    'Para extraer tres digitos cada vez
    Do While c01 <= 5
    c02 = 1
    Do While c02 1 Then
    Leyenda = “Billones ”
    End If
    Case 2
    If cen + dec + uni >= 1 And Val(Mid(NumTmp, 7, 3)) = 0 Then
    Leyenda = “Mil Millones ”
    ElseIf cen + dec + uni >= 1 Then
    Leyenda = “Mil ”
    End If
    Case 3
    If cen + dec = 0 And uni = 1 Then
    Leyenda = “Millón ”
    ElseIf cen > 0 Or dec > 0 Or uni > 1 Then
    Leyenda = “Millones ”
    End If
    Case 4
    If cen + dec + uni >= 1 Then
    Leyenda = “Mil ”
    End If
    Case 5
    If cen + dec + uni >= 1 Then
    Leyenda = “”
    End If
    End Select

    c01 = c01 + 1
    TFNumero = TFNumero + letra3 + letra2 + letra1 + Leyenda
    Leyenda = “”
    letra1 = “”
    letra2 = “”
    letra3 = “”
    Loop
    If Val(NumTmp) = 0 Or Val(NumTmp) < 1 Then
    Leyenda1 = "Cero Pesos "
    ElseIf Val(NumTmp) = 1 Or Val(NumTmp) 0 Then
    cTexto = “veinti”
    End If
    Case 3: cTexto = “treinta ”
    Case 4: cTexto = “cuarenta ”
    Case 5: cTexto = “cincuenta ”
    Case 6: cTexto = “sesenta ”
    Case 7: cTexto = “setenta ”
    Case 8: cTexto = “ochenta ”
    Case 9: cTexto = “noventa ”
    Case Else: cTexto = “”
    End Select

    If uni > 0 And dec > 2 Then cTexto = cTexto + “y ”

    Decena = cTexto
    cTexto = “”

    End Function

    Private Function Unidad(ByVal uni As Integer, ByVal dec As Integer) As String
    If dec 1 Then
    Select Case uni
    Case 1: cTexto = “un ”
    Case 2: cTexto = “dos ”
    Case 3: cTexto = “tres ”
    Case 4: cTexto = “cuatro ”
    Case 5: cTexto = “cinco ”
    End Select
    End If
    Select Case uni
    Case 6: cTexto = “seis ”
    Case 7: cTexto = “siete ”
    Case 8: cTexto = “ocho ”
    Case 9: cTexto = “nueve ”
    End Select

    Unidad = cTexto
    cTexto = “”
    End Function

    Sub nl()

    ‘ Después de haber copiado todo el código completo en el VB, cierra el VB y te vas a la hoja de Excel.
    ‘ Suponiendo que tienes el total de tu factura de $ 158,325.68 en la cela (F15)entonces la formula
    ‘ que habrás de escribir en la celda F15 será la siguiente:
    ‘ =NumLetras(F15,1) el resultado es el que se muestra en la siguiente línea.
    ‘ SON CIENTO CINCUENTA Y OCHO MIL TRESCIENTOS VEINTICINCO CON 68/100 NUEVOS SOLES

    ‘ Habrá que recordar que ,1 es para mayúsculas y ,2 es para minúsculas.

    End Sub

  295. 305 Leonardo Septiembre 2, 2009 a las 6:40 pm

    Muchisimas gracias en serio que muy buen trabajo de tu parte!!

  296. 306 CAMALEON_W Septiembre 7, 2009 a las 8:01 pm

    gracias por la macro, me funciono perfectamente, pero tengo una poregunta… como hago para que la macro la pueda habilitar en excel sin necesidad de tener que copiar el codigo fuente en cada libro .. gracias…

  297. 307 Serapio Reséndiz Septiembre 8, 2009 a las 3:35 pm

    Hola CAMALEON_W,
    Espero que esto te sirva y ya no vatalles con tu excel,
    no se como subir el texto con imagenes pero el documento completo lo tengo en Word ahí esta mi correo resgros@ hotmail.com para que me mandes el tuyo y por ese medio enviartelo como documento adjunto, saludos.

    En excel, disponemos de un libro oculto llamado personal.xls (en Excel 2007, tiene extensión xlsb, por lo que se llamará personal.xlsb), como seguramente ya conocerás. También sabrás seguramente, que este libro es de una gran utilidad si utilizas habitualmente los mismos macros en diferentes libros. En el libro personal.xls (o personal.xlsb, si usas Excel 2007) podemos tener almacenadas nuestras macros más habituales, para poder utilizarlas en cualquier otro libro de excel, sin necesidad de tener que implementar el código VBA en estos nuevos libros que vamos abriendo o creando.
    Para grabar una macro en el libro oculto personal.xls (o personal.xlsb, si usas Excel 2007), tan solo deberemos indicar en el momento de su creación, que queremos que se almacene en el mencionado libro. Para ello, utilizaremos la grabadora de macros, tal y como se muestra en las siguientes imágenes:

    Una vez elegido el sitio donde vamos a grabar el macro, esto es, en el libro de macros personal, bien podemos detener la grabación, o bien podemos realizar las tareas que queremos que grabe el macro. En cualquiera de los casos, una vez finalizada la grabación del macro, si accedemos al modo VBA pulsando Alt+F11, nos encontraremos con que aparece un nuevo proyecto llamado PERSONAL.XLS (o PERSONAL.XLSB, si usas Excel 2007) , tal y como se muestra en la imagen:

    Dentro de la categoría de Módulos, podremos editar el código del macro, borrarlo, o crear nuevos macros, y todos ellos los tendremos disponibles siempre, aunque estemos trabajando con uno, cinco, o veinte ficheros de excel diferentes.

    Cuando vayamos a ejecutar un macro, llamándolo desde Herramientas, Macro, Macros…, nos aparecerán las macros propias del libro con el cual estemos trabajando, junto con las macros grabadas en el fichero personal.xls (o personal.xlsb, si usas Excel 2007), tal y como se muestra en la siguiente imagen:

    Dos últimas cuestiones que mencionar respecto al libro PERSONAL.XLS (o PERSONAL.XLSB, si usas Excel 2007):

    1.- Podemos ver que realmente se trata de un fichero oculto, desde Ventana, y seleccionando Mostrar…. Allí nos aparecerá esto que muestra la imagen (mejor dejar el fichero como oculto):

    2.- Para grabar las macros en PERSONAL.XLS (o PERSONAL.XLSB, si usas Excel 2007), cuando cerremos excel, nos saldrá un mensaje como este de la imagen, y al que tendremos que contestar con un rotundo sí, si lo que deseamos es grabar esas macros en el libro oculto, para que estén disponibles siempre que las necesitemos:

    Si lo que deseamos es llamar a una función personalizada que tengamos en el libro personal, lo haremos de esta forma (suponiendo que la función que hayas creado se llame mifuncion):
    =PERSONAL.XLS!mifuncion()

  298. 308 MikeMR Septiembre 10, 2009 a las 1:09 pm

    Excelente amigo!!!

    ¿Sabes? había buscado esta opción en varias ocasiones, sin éxito alguno. Eres un tipo a todo dar por compartir tus conocimientos con todos nosotros. ¿Podrías ayudarme por favor indicándome cómo le hago para quitar la palabra: “SON”? Gracias anticipadas y que DIOS TE BENDIGA HERMANO!!!
    Salu2

  299. 309 MikeMR Septiembre 10, 2009 a las 2:02 pm

    Gonzalo:

    Sobre la pregunta anterior, ya la solucioné. Ahora dime, cómo quitar la palabra “UN” hablando de las cantidades de $1,000.00 a $1,999.99. Osea, que la cantidad en texto me quede en: (MIL PESOS) Y NO EN (UN MIL PESOS)Gracias de nuevo.

  300. 310 gchable Septiembre 10, 2009 a las 2:12 pm

    MikeMR Busca la palabra SON en el codigo y eliminalo

    MikeMR Busca la palabra UN en el codigo linea 7, y borralo, deja solo las comillas, no deverias quitarlo, de lo contrario en los millones dira MILLON en lugar de UN MILLON

  301. 311 geronides Septiembre 10, 2009 a las 11:04 pm

    muy buen trabajo, mil gracias… queria saber si existe algún modo para que quede guardado en mi excel, pues cada vez que abro un libro nuevo tengo que volver a entrar a macros… no se queda guardada.. existe alguna solución? saludos desde merida.. muy buen trabajo y gracias por compartirlo

  302. 312 MikeMR Septiembre 11, 2009 a las 10:44 am

    Gracias otra vez hermano! Buen día!

  303. 313 yaz Septiembre 11, 2009 a las 11:10 pm

    estoy ke bailo de gusto tenia tres horas buscando
    sali a las 9 de la noche de la oficina tratando de hacer esto

    llego ami casa y zaz

    ke encuentro esta pag lo hice es 10 seg

    gracias,,, gracias,,, gracias

    te iras al cielo con zapatos

  304. 314 Serapio Reséndiz Septiembre 11, 2009 a las 11:44 pm

    Estimado Geronides,

    Cunado abres el VB para crear una macro, la ventana donde le das nombre a la macro, tambien hay una lista desplegable donde dice “guardar macro en” para que escojas en que libro o libros deseas guardar tu macro y aparece tambien una opción que dice (libro personal) selecciona esta opción para que al pegar la macro de conversión te quede lista para que en cualquier libro que pongas la formula te responda ejemplos para office 2003 y anteriores:
    =personal.xls!numletras(ceda donde esta la cantidad ,1)
    para office 2007:
    =personal.xlsb!numletras(celda donde esta la cantidad ,1)

    espero te sirva

    saludos

  305. 315 alexa Septiembre 14, 2009 a las 3:55 pm

    hola esta super el aporte.. pero tengo un problema y ya me perdi con tantos datos estoy haciendo unas facturas en donde la cantidad q tengo en numero la necesito en letra hice los pasos q colocas por cierto super bien explicado y logre hacer todos los pasos pero al colocarlo en las facturas son otras celdas y me sale #¿NOMBRE?… YA ENTRE AL DE MACRO SEGURIDAD LE PUSE EN MEDIO y me sigue saliendo lo mismo la verdad me urge tengo q hacer 1500 facturas y con la formula me ayudaria muchisimo …
    espero esto tenga solucion jejeje.. mientras continuare haciendolo manual … =( … GRACIAS buen dia¡¡¡

    • 316 Serapio Reséndiz Septiembre 14, 2009 a las 8:06 pm

      Hola Alexa,

      Creo que problema esta en seguridad de las macros, deves indicar habiltar todas las macros de lo contrari si lo dejas en ” medi ” te esguira generando problemas. checa eso y si sigues con problemas me encataría que me indicaras en que celda esta la catidad en número y en que celda quires que apareca el texto para ver si se te puede ayudar de una mejor manera.

      saludos,

  306. 317 alexa Septiembre 15, 2009 a las 2:29 pm

    mil mil gracias encontre mi herror =)(no guardar el archivo en excel) … y esta super bien .. me di por vencida pense q no lo lograia jejeje, pero ya qdo me liberaste mucho la carga jejeje… gracias… q bien q exista gnt super, como TU… te debo el cafe jejeje

    saludos =) …
    un super mega abrazo =) “estoy feliz” jejeje …

  307. 318 EL 5° Be@tle Septiembre 23, 2009 a las 4:27 pm

    hola gracias por tu ayuda me sirvio mucho pero tengo un problema que ya te habian comentado al cerar el libro de exel y luego al vover a abrirlo sale #¿NOMBRE? se que ya diste la explicacion pero no se no he podido llevarla a cabo si tu me haces el favor de enseñañrme paso a paso como hacerlo con imagenes de ejemplo te lo agradeceria mucho tengo oficce 2007

  308. 319 Serapio Reséndiz Septiembre 24, 2009 a las 8:42 pm

    Hola EL 5° Be@tle

    Espero que este link te sirva, y no olvides guardar tu libro para que no se pierda la macro.

    http://hojas-de-calculo-en-excel.blogspot.com/2008/07/el-libro-personalxls.html

    saludos

  309. 320 JESUS Septiembre 25, 2009 a las 9:49 am

    Felicidades, lo explicas bastante claro (sobre todo para algunos que no sabemos mucho de esto) y sobre todo gracias por compartir tus conocimientos.
    De nuevo muchas gracias!!

  310. 321 jose amabilis Septiembre 26, 2009 a las 8:02 pm

    gracias esto facilita mucho mi trabajo es muy bueno lo que sabes hacer pero es mucho mejor que lo compartas gracias gracias

  311. 322 JONATHAN GIL Septiembre 29, 2009 a las 2:23 pm

    BUEN DIA UN AGRACEDCIMIENTO MAS CREO QUE NO ESTA POR DEMAS, MIL FELICIDADES, GRACIAS QUE TENEMOS PERSONAS COMO TU, TENIA 7 AÑOS TECLEANDO LA CANTIDAD CON LETRA DE MIS FACTURAS, YO FACTURO EN EXCEL, SI PODRIAS DARME UNA AYUDA MAS, COMO PUEDO HACER UN CATALOGO DE CLIENTES Y QUE AUTOMATTICAMENTE ME APAREZCA LOS DATOS COMPLETOS… SALUDOS.

  312. 323 JONATHAN GIL Septiembre 29, 2009 a las 2:35 pm

    OTRA PREGUNTA COMO PUEDO HACER QUE LOS DECIMALES ME LOS REDONDEE BIEN AL MOMENTO DE HACER DESCUENTOS O APLICAR IVA CUANDO FACTURO, POR EJEMPLO IMPORTE TENGO $2,679.70 Y APLICANDOLE UN 15% DE DESCUENTO $401.96, NOS DA UN SUBTOTAL DE $2,277.75 CUANDO DEBERIA DE SER $2,277.74 NO ???? PARA QUE ME DE LOS CENTAVOS EXACTAMENTE QUE HAGO ??? IVA NOS DA $341.66 Y TOTAL $2,619.40 OJALA ALGUIEN ME PUEDA AYUDAR SALUDOS

    • 324 gchable Septiembre 29, 2009 a las 3:16 pm

      JONATHAN GIL, el resultado de la operacion en Excel me da 2,277.745, Obviamente en letras te dice 74/100.

      Para resolver esto debes utilizar la funcion redondear: =REDONDEAR(2,679.70*15%,2) O =TRUNCAR(2,679.70*15%,2).

  313. 325 naxhieli Septiembre 30, 2009 a las 12:11 pm

    oye de verdad eres un GENIOOOO!! me la he pasado buscando en la red una explicacion tan buena y facil como esta, de verdad me sirvio de mucho… gracias!!!

  314. 326 chely Octubre 3, 2009 a las 3:46 pm

    mil gracias me sacaste de un apuro en verdad funciona muy bien el codigo y por logica la formula….

  315. 327 Rick Octubre 5, 2009 a las 9:34 pm

    Excelente amigo muchas gracias, muy buena aportacion

  316. 328 green7715 Octubre 6, 2009 a las 3:49 pm

    Muy bueno soy de peru y lo unico que modifique para aplicarlo aca en Peru es cambiar la palabrita Pesos a Soles y Sol :D , GRACIAS :D

  317. 329 lyz Octubre 8, 2009 a las 5:36 pm

    quisiera saber como puedo hacer esto pero la verdad es que de macros no se nada yo ya tengo el formato hecho y lo unico que quiero es colocar notas y que automaticamente me salgan en letras. ayudenme porfavor gracias

  318. 330 Archy Octubre 13, 2009 a las 1:54 pm

    hola buen dia. el codigo de convertir numeros a letras esta super bien esta trabajando con ese codigo en excel 2003, pero ahora estoy trabajando con excel 2007 y me sale un error #¿nombre? y ya estuve buscando bajarle el nivel de seguridad a los macros pero sigo con ese error te aradeceria mucho si me pudieras auxiliar gracias.. y espero una favorable ayuda

  319. 331 Pedro Castellanos Díaz Octubre 13, 2009 a las 5:32 pm

    Hoy es un día que me hace sentir feliz, en el sentido de encontrar personas que comparten sus conocimientos sin ningún tipo de intéres. De verdad muchas gracias por eso, si todos fueramos así este mundo sería otra. cosa.

    Ese código de convertir números a texto está fabuloso. Enhorabuena.

  320. 332 Rodo Octubre 14, 2009 a las 12:34 pm

    Muy bueno. Gracias!!! Lo modifique para usar en Argentina sacandole MN

  321. 333 gladys Octubre 14, 2009 a las 5:56 pm

    hola, necesito que al cambiar numeros a letras en excel me aparesca así: 84 Ochenta y cuatro, pero la tengo asi:
    84 Ochenta Y Cuatro……..qué hago

  322. 335 Adriano Octubre 15, 2009 a las 10:34 am

    Hey, andando por la red me tope con este foro en el cual describen el código y funcionamiento de esta macro, me parece muy bueno.

    Soy programador en Visual Basic para Aplicaciones y desarrolle un complemento de nombre ConLetra.xla que hace lo mismo que el que se comenta aquí agregando varias opciones muy prácticas, entre ellas las siguientes:

    1. Crea un menú y submenú en la barra de menús de Excel desde el cual se puede: a) Invocar al asistente de funciones inicializado en esta. b) Modificar los parámetros de moneda, Centavos y delimitadores de texto (parentesis, comillas, etc.)
    2. Tiene la opción de manejar mayúsculas, minúsculas o bien una combinación.
    3. Guarda en el registro de windows los parámetros definidos por el usuario para ser recuperados cada que se utilice.

    Se creo en Excel 2003 y funciona también en 2007
    Es completamente gratuito y libre de distribución, -no es de código abierto, por que como se comenta aquí hay muchos que se atribuyen el trabajo de otros-
    No contiene virus o macros perjudiciales

    Si a alguien le interesa puede enviarme un mail y con gusto se le haré llegar para que lo pruebe.

    Adriano Torres
    Saludos desde San Luis Potosí, México
    15 de octubre de 2009

  323. 336 Adriano Octubre 15, 2009 a las 10:37 am

    Olvide poner mi correo: tosj820128@yahoo.com.mx

    Nada me gustaría más que compartir mi trabajo y conocimientos en este tema y aprender de aquellos que sepan más que yo.

  324. 337 Cris Morales Octubre 15, 2009 a las 11:42 am

    Muchas gracias… la verdad esta muy facil y muy sencilloo

    excelente

    muchas graciass

    Monterrey, NL.

  325. 338 Elvia López Octubre 18, 2009 a las 10:40 pm

    Funciona muy bien ¡gracias!
    Buen día

  326. 339 Felipe Gallardo Octubre 21, 2009 a las 8:15 am

    Excelente me sirvio de mucho! gracias

  327. 340 ramon Octubre 22, 2009 a las 10:37 am

    Gracias HErmano

    Esta de peluche

    Saludos desde Monclova, Coahuila

  328. 341 Dennis Octubre 22, 2009 a las 1:51 pm

    Excelente Explicacion y el codigo muy bueno…Gracias

  329. 342 LAURA Octubre 22, 2009 a las 4:27 pm

    HOLA BUENAS TARDES FIJATE PICANDO POR AQUI Y POR AYA Y ME ENCUENTRO CON ESTO TAN ESPECTACULAR Q ME AYUDA EN MI TRABAJO.

    ESTABA BUSCANDO OTRA COSA PERO ME SIRVE ESTOO

    SALUDOS
    GRACIAS POR TU ESPACIO…

  330. 343 Omar Antonio Octubre 22, 2009 a las 6:12 pm

    BUEN DETALLE, GRACIAS.
    MUCHOS SALUDOS!!!

  331. 344 Angelotakus Octubre 22, 2009 a las 7:21 pm

    Gracias por el macro, estuvo excelente.

  332. 345 Luis Vasquez Octubre 22, 2009 a las 8:22 pm

    Probablemente no sere el primer comentario positivo, pero seria desleal no felicitar por haber explicado un macro tan util.

    macros for dummies!

  333. 346 NORBERTO Octubre 26, 2009 a las 5:31 pm

    MUCHAS GRACIAS FUNCIONA MUY BIEN

  334. 347 Randall A Octubre 29, 2009 a las 4:54 pm

    Muchas gracias por la explicación, me sirvio de maravilla.

    Excelente por el aporte de sus conocimientos.

  335. 348 Manuel Vallejos Octubre 29, 2009 a las 7:03 pm

    Para los que quieren cambiar a otro tipo de moneda, solo cambien PESOS por las monedas que Ustedes quieren, ejemplo: Por estp:

    PesosMN = “SON: (” & PesosMN & IIf(tyCantidad > 1, ” PESOS “, ” PESO “) & Format(Str(lyCentavos), “00″) & “/100 M.N.)”

    Poner:

    PesosMN = “” & PesosMN & IIf(tyCantidad > 1, ” CORDOBAS CON “, ” CORDOBAS CON “) & Format(Str(lyCentavos), “00″) & “/100″

    Dandole derechos al autor del código, yo sólo doy un aporte

  336. 349 Luis Emilio Octubre 30, 2009 a las 5:55 pm

    Hecho en México, asi debe de ser, muchas gracias por tu apoyo si por lo menos uno de cada dos Mexicanos como tu hubiera, estariamos como en la epoca del porfiriato dos dolares por un peso……..

    Muchas Felicidades

  337. 350 Yes Noviembre 6, 2009 a las 6:13 pm

    Muchas gracias, su articulo me ha sido de gran ayuda

  338. 351 ISA Noviembre 7, 2009 a las 8:15 pm

    Hola Realmente Excelente!!!!

    Una sola cosita, quisiera ver si hay la posibilidad que la conversion a letras indique la cantidad correspondiente a los centimos tambien EN LETRAS? , me di cuenta que la pregunta ya la hicieron tambien varias veces pero no encontre la respuesta y eso que me lei este interesantisimo y fabuloso blog como tres veces,

    ej. ( QUINIENTOS MIL DOSCIENTOS TREINTA Y UN BOLÍVARES CON 13 CÉNTIMOS)

    1, Como le quito los parentesis?
    2, Como hacer para que el numero 13 correspondiente a los centimos se lea TRECE? ( en letras y no en numeros)

    Soy de Venezuela ya adapte la moneda a BOLIVARES Y EL ” /100 ” lo lleve a la palabra CÉNTIMOS, Con esta modificacion en la penultima linea tal y como esta de super bien explicado y quedó asi:
    Bolívares = ” (” & Bolívares & IIf(tyCantidad > 1, ” BOLÍVARES CON “, ” BOLÍVAR CON”) & Format(Str(lyCentavos), “00″) & ” CÉNTIMOS)”
    End Function

    Pero faltaria sustituir el “00″ No se por cual valor, para que no se lea el ej. del ” tal y tal con 13 Céntimos” y pueda leerse “tal y tal con TRECE CÉNTIMOS” y sin los parentesis….

    Saludos y de antemano Mil gracias (=

  339. 352 ISA Noviembre 7, 2009 a las 8:27 pm

    Okis
    Para los interesados de Venezuela.. Ya los parentesis se los quité, PEROOO sigue el 13 Centimos alli !!!
    y quedó así:

    Loop Until lyCantidad = 0
    Bolívares = “” & Bolívares & IIf(tyCantidad > 1, ” BOLÍVARES CON “, ” BOLÍVAR CON”) & Format(Str(lyCentavos), “00″) & ” CÉNTIMOS”
    End Function

    ahora solo falta que encontremos la manera de sustituir el “(00)” por algo que permita leer los centimos en letras y no en numeros… !!!
    YO YA ME FUNDÍ…
    Saludos y esperemos a ver como se hace!

    • 353 Anónimo Noviembre 23, 2009 a las 7:04 pm

      No te fundas en ese código, mira eso que quieres lo puedes hacer utilizando la macro y combinando las propias funciones de Excel, trataré de explicarlo.

      Hagamos las siguientes aclaraciones primero …

      1. Tome la macro original publicada en este blog.
      2. Las modificaciones y/o adecuaciones son solo para ayudar a
      la(s) persona(s) que hizo esta pregunta o que tengan la
      misma duda.
      3. En ningún momento me digo o siento autor de esta macro.

      Ahora supongamos lo siguiente …

      a. En la macro original modificamos solo la última línea
      quedando :
      PesosMN = PesosMN
      aunque parezca muy poco asi queda esta línea
      b. Asumimos que en la celda B2 tenemos la cantidad 1,235.56
      para manejara de ejemplo.
      c. En la celda D2 vamos a escribir la siguiente fórmula (todo
      junto):
      =”(“&pesosmn(B2)&SI(B2>1,”PESOS”,”PESO”)&
      pesosmn(DERECHA(B2,2))&” CENTAVOS )”
      resultado:
      ( UN MIL DOSCIENTOS TREINTA Y CINCO PESOS CINCUENTA Y SEIS
      CENTAVOS )

      Explicación:

      1. Con la modificación de la última línea la transcripción quedará:
      UN MIL DOSCIENTOS TREITA Y CINCO
      2. Utilizamos el condicional SI() para agregar “PESOS” si la cantidad es mayor a 1 ó de lo contrario “PESO”
      3. Luego utilizamos la función DERECHA(Texto,NumDeCaracteres) para extraer la parte decimal de la cantidad, en este caso 56
      4. Habiendo extraido los decimales volvemos a utilizar la macro para trancribirlos, PesosMN(Derecha())
      5. Agregamos “CENTAVOS” con el parentesis de cierre

      Comentarios finales:
      a. Espero y sea de utilidad esto que excribí.
      b. Creo que la macro no transcribe correctamente cuando la cantidad sea 1 o bien los centavos sean 0.
      c. Reitero que no soy ni me siento el programador de esta macro.

    • 354 Adriano Noviembre 23, 2009 a las 7:11 pm

      Acabo de responder a ISA pero olvidé identificarme así que salió como anónimo

  340. 355 Ginn Noviembre 11, 2009 a las 5:21 pm

    Oye mil gracias, todo funciono a la perfeccion esta genial, con esto ahorras un buen buen de tiempo gracias, de verdad gracias!!!

  341. 356 JUAN ERIC Noviembre 17, 2009 a las 2:08 pm

    EXCELENTE AMIGO, MUCHAS GRACIAS, FABULOSO Y MUY EFECTIVO.

    FELICIDADES POR TU GENIO !!

  342. 357 BRENDA GARCIA Noviembre 18, 2009 a las 6:27 pm

    ME ENCANTO EL MACRO PERO NO ME DEJA GUARDARLO, ME MARCO QUE EL ARCHOIVO SIN MACROS NO SE PUEDE GUARDAR O ALGO ASI QUE DEBO HACER.ENCONTRE VARIAS RESPUESTAS PERO NO LES ENTIENDO NO ME PODRIAN AYUDAR, GRACIAS MI CORREO ES JAYBY96@HOTMAIL.COM

  343. 358 Juan José Noviembre 20, 2009 a las 12:16 am

    Muchas Gracias. Me es de mucha utilidad esta herramienta. Me funcionó a la primera.Saludos desde Yucatan Mex.

  344. 359 SANDY Noviembre 23, 2009 a las 8:46 pm

    GRACIAS SI NO PONDRIA ESO MI EXAMEN NO VALDRIA

  345. 360 JOSE ABEL Noviembre 24, 2009 a las 12:18 pm

    ES LA MEJOR EXPLICACION DE MUCHOS A LOS QUE HE CONSULTADO.

    EXCELENTE.

    SALUDOS DE CULIACAN SIN.

  346. 361 latemizo Noviembre 28, 2009 a las 4:32 pm

    He leído todo el post, pero quisiera que alguien me ayude a que si me saliesen números negativos cómo modifico la macro?
    Supónte que preparo planillas de gastos o pagos, o sueldos y me lleguen a salir el saldo negativo? La macro está perfecto pero una vez que me sale eso no me funciona. Por fa ayuda!

  347. 363 MARI Diciembre 3, 2009 a las 1:24 pm

    PORFAVOR SOLO NECESITO SABER LA FORMULA DE COMO CONVERTIR UN CANTIDAD CON DECIMALES EN LETRAS POR EJEMPLO:
    2,555.20 (DOSMIL QUINIENTOS CINCUENTA Y CINCO PESOS 20/100 M.N.)

  348. 364 MARI Diciembre 3, 2009 a las 1:27 pm

    PORFAVOR SOLO DAMELA SIP

  349. 365 Percyño Diciembre 4, 2009 a las 12:03 pm

    Lo máximo,

    Gracias por compartir estos conocimientos.
    Creo que nadie lo haría, ya que a veces somo egoistas… pero estoy muy satisfecho con esta información.

    Que sigan los éxitos.

    Saludos…

  350. 366 lino Diciembre 5, 2009 a las 2:05 pm

    esta chido tus explucaciones gracias buen dia

  351. 367 Nevid MAres Diciembre 9, 2009 a las 5:31 pm

    HOLA QUE TAL DISCULPA LA MOLESTIA PERO ME PODRIAS AYUDAR CON MI DUDA, EN LA VERSION 2003 DE EXCEL HAY UN COMANDO QUE COMBIERTE VALORES O RESULTADOS DE FORMULAS ENTRE CELDAS Y QE AL EMPLEARLO LOS COMBIERTE EN VALORES NUMERICOS Y TE PERMITE COPIARLOS Y PEGARLOS EN OTRS CELDAS PARA OFICCE EXCEL 2007, NO ENCUENTRO ESTE COMANDO COMO LE PUEDO HACER.

    GRACIAS.


  1. 1 Quitar contraseñas en libros de Excel « gonzalo_conta Trackbacks en Enero 21, 2008 a las 11:40 pm

Escribe un comentario




a

 

Octubre 2007
L M X J V S D
    Dic »
1234567
891011121314
15161718192021
22232425262728
293031  

Estadisticas

  • 117,497 hits