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.

**************************************************************

Edición 09 de Octubre de 2013.

https://www.dropbox.com/s/c1tad1rde15rbgs/Numeros_a_letras.xls

Pongo a su disposición un libro de Excel ya con la macro listo para usar:

No olviden habilitar las macros.

**************************************************************

About these ads

1384 Responses to “Convertir numeros a letras en Excel”


  1. 1 Marlon diciembre 17, 2007 en 11:22 pm

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

    saludos

    Marlon Espana

    • 2 Veronica octubre 29, 2009 en 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 en 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.

      • 4 Esteban Hernandez diciembre 17, 2009 en 11:27 pm

        Hola Tavo , Vero me podrian explicar a detalle como guardar la macro para despues utilizarla en varios libros y hojas, no he podido hacer esto, por favor se los agradecere muchisimo, les dejo mi mail: bonduz07@yahoo.com.mx

      • 5 willy1310 marzo 8, 2010 en 1:02 pm

        Hola: es que si usas office 2007 debes habilitar contenido.
        si usas 2003 debes bajar la seguridad a medio y luego darle habilitar macros.

        ¿Respondi a tu pregunta?

        Willy

      • 6 Anónimo julio 24, 2012 en 11:25 pm

        que pagina tan gay necesito que la letra del numero que uno escriba se ponga en numero pero no salen unas maricadas mas hp

      • 7 Anónimo septiembre 25, 2012 en 2:16 pm

        lo haria encantado si aun te sirviera porelcanto@hotmail.com

      • 8 Anónimo abril 17, 2013 en 11:36 am

        NO DEBES DEJAR ESPACIOS EN LA FORMULA, POR QUE ES DESCONOCIDA PARA EXCEL.

    • 9 Armando abril 23, 2010 en 8:28 am

      No cabe duda de que existen personas de las que se puede aprender mucho.

      Me gusto tu ayuda por que esta excelente.

      MIL GRACIAS

      • 10 Sarita mayo 19, 2010 en 12:57 pm

        Hola:
        antes que nada quiero agredecer por tu valiosa aportacion, la verdad no se como habilitar el contenido. hice todo loo que se indica pero cerre mi archivo de excel, guarde todos los cambios pero al momento de abrirlo de nuevo me aparece el mismo error.

        Ayudame por favor… Saludos!!!

      • 11 Hèctor Luna octubre 17, 2012 en 8:11 pm

        Hola Tavo! mira trato de crear la macro y sigo tus pasos y al entrar a excel me da la conversiòn, pero me salgo de esa hoja y ya no funciona al darle la funsiòn de =PesosMN ya no aparece

    • 12 YANNELLI septiembre 1, 2010 en 5:15 pm

      MUCHAS GRACIAS, LA VERDAD YO NO ENTENDIA MUY BIEN LO DE LAS MACROS PERO CON TU EXPLICACION ME FUE SUPER FACIL GRACIAS.
      LLEVABA TODO EL DIA BUSCAN INOFRMACION Y NO ENTENDIA AHORA ME HAZ HECHO LA VIDA MAS FACIL GRACIAS.

    • 13 TONY mayo 20, 2011 en 2:43 pm

      SI MUCHAS GRACIAS A TODOS POR SUS COMENTARIOS ESTA MUY BUENO LA VERDAD ME SIRVIO DE MUCHO MIL GRACIAS Y UN SALUDO DESDE VERACRUZ MEXICO,,,A TODOS..

    • 14 FRANCISCO mayo 27, 2011 en 11:40 am

      AMIGO COMO HARIA EN CASO DE CAMBAR LA MONEDA DIGAMOS DOLARES O SOLES DE PERU?
      GRACIAS

      • 15 Marcos Mattos agosto 3, 2011 en 4:28 am

        PARA NUEVOS SOLES (PERU) COPIA TEXTO BAJO LA LINEA:
        ________________________________________________

        Function numerosentexto(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
        numerosentexto = lcBloque
        Case 2
        numerosentexto = lcBloque & IIf(lnBloqueCero = 3, Null, ” MIL”) & numerosentexto
        Case 3
        numerosentexto = lcBloque & IIf(lnPrimerDigito = 1 And lnSegundoDigito = 0 And lnTercerDigito = 0, ” MILLON”, ” MILLONES”) & numerosentexto
        End Select
        lnNumeroBloques = lnNumeroBloques + 1
        Loop Until lyCantidad = 0
        numerosentexto = “SON: (” & numerosentexto & IIf(tyCantidad > 1, ” NUEVOS SOLES “, ” NUEVO SOL “) & “CON ” & Format(Str(lyCentavos), “00″) & “/100 CÉNTIMOS)”
        End Function

    • 16 FRED VARGAS junio 29, 2011 en 11:47 pm

      MUCHAS GRACIAS AMIGO, FUE MUY FACIL PODER INSERTAR EL CODIGO DE LA MACRO…. GRACIAS INFINITAS!!!

      • 17 Anónimo abril 26, 2012 en 3:36 pm

        hola puse el codigo y me sale “error de sintaxis” quiero saber porque no funciona
        ES EL CODIGO PARA NUEVO SOLES PERU

    • 18 Anónimo enero 10, 2012 en 1:04 pm

      Muchas gracias, Excelente macro, mil mil gracias

      Guadalajara, Jal.

    • 19 Anónimo enero 27, 2012 en 7:14 pm

      Tu macro esta muy bien solo un detalle las cantidades de ,000,000., 1,000,001. hasta 1,999,999. nunca cambian siempre aparece ( UN MILLON PESOS 00/100 M.N.) hasta que se cambia a 2,000,000. entonces si aparece bien solo es el rango de entre un millon y 1,999,999. espero me entiendas. saludos.

    • 20 Aaron Mustri junio 11, 2012 en 2:16 pm

      Gracias , muy util !!!

    • 21 Anónimo junio 14, 2012 en 11:47 am

      Por que no se guarda el modulo??? cadaves que cierro la hoja de excel el modulo se borra?? por que?’

    • 23 llilly agosto 26, 2012 en 7:59 pm

      ayudenme con esta cantidad 4,201,100,258

    • 25 Anónimo julio 23, 2013 en 2:33 pm

      hola muy bueno tu aportación, pero en cantidades grandes no me sale los resultados, por ejemplo te doy un numero $2,794,410,069.25 , como resultado me sale lo siguiente:
      #¡VALOR!
      sabras por que?

      saludos.

    • 29 Anónimo agosto 12, 2013 en 12:00 pm

      HOLA QUIERO PONER ESTA APLICACION PERO ME APAREC #NOMBRE K DEBO HACER PARA K FUNCIONE? X K ME ES DE MUCHA UTILIDAD OJALA ME PUEDAS AYUDAR TE LO AGRADECERIA MUCH T DEJO MI CORREO otilio13r@hotmail.com

    • 30 Otilio Ramirez Santiago agosto 12, 2013 en 12:09 pm

      mi estimado amigo quiero aplicar este formato pero me aparec #MONBRE, k debo hacer para k me funcione correctamente? en verdad la necesito
      x tu atencion gracias.

    • 31 Anónimo agosto 12, 2013 en 7:17 pm

      como hacerle para que me de únicamente centavos por ejemplo:
      0.12 (Cero Pesos 12/100 M.N.)
      Actualmente me pongo 0.12 y me aparece ( Peso 12/100 M.N.) podrían corregirlo o decirme como le hago?

      • 32 Joan Mosquera agosto 17, 2013 en 6:04 am

        Buenos días, para esto haz lo siguiente:
        Cambia la ultima línea así
        If lyCantidad > 0 Then
        PesosMN = “SON: (” & PesosMN & IIf(tyCantidad > 1, ” PESOS “, ” PESO “) & IIf(lyCentavos > 0, Format(Str(lyCentavos), “00″) & “/100″, “”) & ” M.N.)”
        Else
        PesosMN = “SON: CERO PESOS CON ” & IIf(lyCentavos > 0, Format(Str(lyCentavos), “00″) & “/100″, “”) & ” M.N.)”
        End If

        Tambien he corregido para que no muestre el texto 00/100 cuando la cifra es exacta

    • 33 Julieth noviembre 12, 2013 en 10:43 am

      si excelente. muchas gracias.. muy util

  2. 34 gchable diciembre 18, 2007 en 10:02 am

    Mucho gusto Marlon, a tus órdenes

  3. 36 Eduardo Rodríguez diciembre 19, 2007 en 5:10 pm

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

  4. 37 gchable diciembre 19, 2007 en 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. 38 King diciembre 26, 2007 en 2:17 pm

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

  6. 39 GUSTAVO diciembre 26, 2007 en 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. 40 CHIVA diciembre 27, 2007 en 3:08 am

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

  8. 41 Valentina enero 4, 2008 en 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.

    • 42 BYRON MONTERROSO noviembre 28, 2009 en 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. 43 gchable enero 4, 2008 en 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. 44 Frank Ruiz enero 10, 2008 en 8:24 pm

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

  11. 45 David Cruz enero 11, 2008 en 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. 46 Mario enero 14, 2008 en 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. 47 gchable enero 14, 2008 en 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.

  14. 50 SUSANA enero 21, 2008 en 6:11 pm

    EXCELENTE TE FELICITO SOLO TU TIENES DON PARA EXPLICAR

  15. 51 Erick enero 23, 2008 en 4:07 pm

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

  16. 52 BAJAPH enero 23, 2008 en 7:04 pm

    Perfecto man

    Gracias por el dato…

    Aqui estare revisando tu pagina, esta muy buena

  17. 53 Al enero 28, 2008 en 3:35 pm

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

  18. 54 JORGE SANTIAGO febrero 2, 2008 en 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. 55 Luis febrero 8, 2008 en 11:06 am

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

  20. 56 Luis febrero 8, 2008 en 11:06 am

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

  21. 57 gchable febrero 8, 2008 en 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. 58 CARLOS AVILA febrero 11, 2008 en 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. 59 Alejandro Zamora febrero 15, 2008 en 4:01 pm

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

  24. 60 kamysado febrero 17, 2008 en 3:40 pm

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

    • 61 Lalochino enero 2, 2012 en 6:49 pm

      En office 2007, debes hablitar la pestaña de programador. (para esto Opciones de exel >> mas frecunetes >> habilitar pestaña de programador)

      Una vez resuelto esto, en la pestaña de programador en la ficha de Codigo click en “visual basic” y de ahi sigue las instrucciones q gonzalo_conta dió, es exactamente lo mismo. Conmigo funciona muy bien.

      A mi si me funcionó el problema es q cuando guardo el archivo y lo vuelvo a abrir el programita ya no corre y me aparece #¿nombre?

  25. 62 gchable febrero 17, 2008 en 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. 66 waldo febrero 19, 2008 en 8:34 pm

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

  27. 67 Inés febrero 20, 2008 en 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. 68 alpine1mx febrero 20, 2008 en 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 https://gchable.wordpress.com/
    By gonzalo_conta 53 days ago Size: 455.7kb

    Espero su amable respuesta SALUDOS !!!

  29. 69 gchable febrero 20, 2008 en 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 https://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. 70 Inés febrero 21, 2008 en 7:48 am

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

  31. 71 Idania febrero 22, 2008 en 11:04 pm

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

  32. 72 oswaldo febrero 26, 2008 en 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. 74 gchable febrero 26, 2008 en 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. 75 Anónimo febrero 27, 2008 en 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. 76 gchable febrero 27, 2008 en 3:45 pm

    No estaba tan errado :)

  36. 77 Jonbus marzo 5, 2008 en 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. 79 eduardo marzo 31, 2008 en 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

  38. 80 fergzzag abril 7, 2008 en 7:27 pm

    WOW… Fue bien papa….

    Te lo agradezco por los siglos de los siglos……

    excelente Blog…

    fergzzag

  39. 81 LUIS abril 8, 2008 en 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,

  40. 82 alpine1mx abril 10, 2008 en 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

  41. 83 Ital000 abril 13, 2008 en 3:22 pm

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

  42. 84 skud abril 22, 2008 en 2:21 pm

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

  43. 85 OMARIN abril 25, 2008 en 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

  44. 86 carlos abril 25, 2008 en 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.

  45. 92 luis enrique abril 28, 2008 en 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

    • 93 Lalochino enero 3, 2012 en 3:26 pm

      Luis Enrique, y
      <>

      uso office 2007.
      Yo tengo el mismo problema y lo resolví deshabilitando la seguridad de macros al mínimo, pero no quisisera dejarlo así por protección de mi equipo.

  46. 94 carlos abril 28, 2008 en 3:59 pm

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

  47. 95 gchable abril 28, 2008 en 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.

  48. 96 FERNANDO RIVERA mayo 1, 2008 en 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

    • 97 Enrique octubre 10, 2011 en 2:33 pm

      hola mira yo tuve el mismo problema pero espero y me explique bien: abres un libro de trabajo en blanco, le pegas el nuevo modulo y lo cierras o utiliza alt+Q. despues vas a irte a guardar o guardar como: cambias el nombre le pones por asi decirlo : pesosMN. abajo de donde cambiaste el nombre esta el tipo de documento en que lo quieres guardar, dale clik a la casilla y se despliega una lista buscas en esa lista el nombre que diga: COMPLEMENTO DE EXCEL. Y LE DAS GUARDAR, automaticamente se guarda en c en una carpeta llamada complementos. y listo. AHORA abres un nuevo libro de excel te vas a la parte superior izquierda de tu pantalla le das clik al icono te vas a opciones de excel (aveces solo dice opciones)le das clik te vas a donde dice complementos( una vez en complementos hasta abajo hay una casilla que dice complementos de excel de las en LA CASILLA QUE DICE: IR, te abre una ventanita y ahi tiene que aparecer el nuevo complemento que creamos llamado pesosMN, si no aparece a simple vista le das examinar y escribes el nombre con el que guardaste el complemento. le das aceptar y listo ahora es usable en todos los libros que kieras abrir… sin nececidad de estar ingresando el modulo de nuevo.
      SUGERENCIA: solo no olvides de no borrar el complemento creado..si lo borras tienes que empezar de ceros.
      NOTA: si al abrir el libro de excel no te funciona, solo tienes que irte a opciones y añades el complemento que creamos..
      graciassss……

      • 98 carlos rodriguez enero 11, 2012 en 11:02 pm

        muchas gracias gonzalo y enrique. de verdad que es la manera mas facil de hacerlo gracias por pasar sus conocimientos

      • 99 MENDOZA mayo 13, 2012 en 9:30 pm

        EXCELENTE EXPLICACION ENRIQUE, GRACIAS POR TU MANERA DE EXPRESAR, YO ME ENCONTRE CON UN CODIGO PERO NO ME FIJE COMO LO GRABE Y VOLVI A BUSCARLO Y JAMAS, PORQUE COMO DECIN OTROS SOLO FUNCIONA EN EL LIBRO DONDE ESTA EL CODIGO, PERO CON TU EXPICACION PERMANENTE, GRACIAS Y QUE SIGAS ADELANDE. ATENTAMENTE MS

      • 100 Roberto M. diciembre 14, 2012 en 7:03 pm

        Oye enrique tu explicación fue magnifica, ayudo a cerrar lo que empezo Gonzalo, al menos para mi, insisti mucho, probando las soluciones que daban hasta aqui y no resultaba. Con tú explicación ya pude y en todos los archivo pude usar la función. Es vital lo de complementos. La prueba de fuego sera apagar el equipo, al encenderlo. MUCHISIMAS GRACIAS, GENTES COMO USTEDES, ES LA MUESTRA DE NUESTRA CAPACIDAD DE HACER EL BIEN.

  49. 101 Patricio mayo 3, 2008 en 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

  50. 102 JESSICA mayo 5, 2008 en 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

  51. 103 niko mayo 6, 2008 en 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

  52. 104 ORLANDO CAMARGO RODRIGUEZ mayo 12, 2008 en 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.

  53. 105 bob and hope mayo 12, 2008 en 8:51 pm

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

  54. 106 Adriana mayo 14, 2008 en 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

  55. 107 Saul Medina Sanchez mayo 14, 2008 en 9:41 pm

    Felicidades,, quien aporta busca un mundo mejor…

  56. 108 RICHARD LOYOLA mayo 16, 2008 en 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

  57. 109 RICHARD LOYOLA mayo 16, 2008 en 4:33 pm

    Muy bien, excelente.
    Saludos

  58. 110 REYNA mayo 17, 2008 en 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

  59. 111 Janecita mayo 17, 2008 en 6:03 pm

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

    Exitos, te lo mereces!!!

  60. 112 Zito mayo 22, 2008 en 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

  61. 113 Javier mayo 28, 2008 en 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.

  62. 114 oscar11n mayo 28, 2008 en 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

  63. 115 jesus mayo 28, 2008 en 6:17 pm

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

  64. 116 Moisés mayo 30, 2008 en 4:45 pm

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

    Gracias!!
    Saludos!!

    • 117 francia julio 28, 2010 en 7:58 am

      ayudame me urge tu ayuda.estoy en una actividad de excel,en la cuestion de macros,todo bien,pero en no me sale macroletras en la explicacion de la pagina del sena,no se explica bien apareceen unbloc de notas macroletras,pero no explican de donde se saca.
      necesito ese dato antes del viernes pa q me califiquen
      ayudame te dejomi correo,edwfra028@hotmail.com

  65. 118 Ivan H junio 4, 2008 en 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?

    • 119 Carlos Garcia M octubre 25, 2010 en 7:25 pm

      Para ejecutar el codigo en access primero pega el codigo en un modulo, nombralo y luego utilizalo por medio de una consulta (funciones definidas por el usuario) y despues jalar la consulta en el reporte.

  66. 120 EL MAS CHINGON junio 5, 2008 en 6:08 pm

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

  67. 121 MASTER OF PUPETS junio 5, 2008 en 6:09 pm

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

  68. 122 Gerardo junio 6, 2008 en 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?

  69. 123 gchable junio 6, 2008 en 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

  70. 124 HOLYMON junio 13, 2008 en 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

  71. 125 HOLYMON junio 13, 2008 en 3:32 pm

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

  72. 126 HOLYMON junio 13, 2008 en 3:48 pm

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

    COMO SE APROXIMA ?

    GRACIAS

  73. 127 Ana Laura junio 26, 2008 en 4:43 pm

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

  74. 128 iieni junio 28, 2008 en 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?

  75. 129 LAURIS julio 2, 2008 en 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.

  76. 130 Sebastian Arancibia Maruri julio 11, 2008 en 11:41 am

    Gracias Gonzalo, me sirvio mucho el modulo. :)

    Saludos desde Chile.

  77. 131 Lidher julio 14, 2008 en 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..

  78. 132 Lupita Ramirez julio 17, 2008 en 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.

  79. 133 GUSTAVO REYES julio 17, 2008 en 2:16 pm

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

  80. 134 Hugo Rafael julio 18, 2008 en 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

  81. 135 Angel julio 18, 2008 en 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

  82. 136 Javier julio 21, 2008 en 3:50 pm

    Excelente aporte lo acabo de probar y funciona perfectamente muchas gracias

  83. 137 car julio 23, 2008 en 1:19 pm

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

  84. 138 Gabitos julio 23, 2008 en 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

  85. 139 raul julio 24, 2008 en 12:00 pm

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

    FELICIDADES Y MUCHAS GRACIAS POR COMPARTIRLO CON NOSOTROS

  86. 140 LI Miguel Ontiveros julio 24, 2008 en 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

  87. 141 Grissel =) julio 25, 2008 en 11:51 am

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

    FUNCIONA MUY BIEN!!!

  88. 142 LUIS julio 28, 2008 en 5:58 pm

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

  89. 143 El Regio julio 30, 2008 en 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

  90. 144 El Regio Ignorante julio 30, 2008 en 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….!!

  91. 145 El Regio ya no tan Ignorante julio 30, 2008 en 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 )

  92. 146 gchable julio 30, 2008 en 9:26 am

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

  93. 147 GERARDO SALAZAR agosto 2, 2008 en 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.

  94. 148 gchable agosto 2, 2008 en 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.

  95. 149 GERARDO SALAZAR agosto 2, 2008 en 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.

  96. 150 PERLA agosto 5, 2008 en 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

  97. 151 PERLA agosto 5, 2008 en 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

  98. 152 Jaime Marti agosto 18, 2008 en 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

  99. 153 JOSE LUIS FIGUEROA agosto 19, 2008 en 11:12 am

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

  100. 154 Edith agosto 21, 2008 en 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.

  101. 155 Pablo Roberto agosto 22, 2008 en 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.

  102. 156 Anna agosto 26, 2008 en 10:08 am

    Execelente formula muchas gracias!!! tarde mucho en encontrarla

  103. 157 ZUGA agosto 30, 2008 en 4:32 pm

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

    SALUDOS Y FELCITACIONES

  104. 158 fredoeg septiembre 3, 2008 en 6:38 pm

    Excelente.. gracias

  105. 159 Carlos Peru septiembre 5, 2008 en 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

  106. 161 Lillean septiembre 5, 2008 en 5:18 pm

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

  107. 162 HC septiembre 6, 2008 en 7:32 pm

    Muy agradecido por tu gran aporte!!!

    Me servira mucho. :D

  108. 163 GILBERT septiembre 9, 2008 en 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

  109. 164 Carlos septiembre 11, 2008 en 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….

  110. 165 Carlos septiembre 11, 2008 en 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

  111. 166 Aldo septiembre 11, 2008 en 1:34 am

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

    Gracias por el aporte que haces con nosotros principiantes.

  112. 167 Adrian septiembre 11, 2008 en 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.

  113. 168 Josefina septiembre 12, 2008 en 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

  114. 169 Teresa septiembre 13, 2008 en 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

  115. 170 Alfredo septiembre 14, 2008 en 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

  116. 171 ANY septiembre 15, 2008 en 1:26 pm

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

    mil gracias.

  117. 172 JENNY septiembre 16, 2008 en 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

  118. 173 Alejandro Sanchez septiembre 17, 2008 en 2:54 pm

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

  119. 174 pelayo septiembre 20, 2008 en 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

  120. 175 Jesus M. hernandez septiembre 21, 2008 en 11:46 am

    tu programa me sirvio muchisimo, te agradezco tu ayuda

    mil gracias

  121. 176 Fernando Rubio septiembre 25, 2008 en 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

  122. 177 Luis Enrique septiembre 26, 2008 en 9:58 am

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

  123. 178 lupis septiembre 26, 2008 en 11:59 am

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

  124. 179 Javier Salas septiembre 28, 2008 en 7:17 pm

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

  125. 180 Robinson Farfan septiembre 29, 2008 en 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

  126. 181 hipolito Alcantara octubre 2, 2008 en 2:01 pm

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

  127. 182 Beth octubre 3, 2008 en 3:14 pm

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

  128. 183 alfredo octubre 3, 2008 en 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!!!!!!!!!!!!!!!!!!!!!!!!!!!

  129. 184 Yenssen octubre 3, 2008 en 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

  130. 185 gchable octubre 3, 2008 en 6:56 pm

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

  131. 186 blanca octubre 6, 2008 en 10:34 am

    como le hago para que se convierta en dolares

  132. 187 CHUSYTA octubre 6, 2008 en 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!!!

  133. 188 Marina octubre 7, 2008 en 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…

  134. 189 EDGAR PALACIOS octubre 7, 2008 en 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

  135. 190 Helen octubre 8, 2008 en 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,

  136. 191 Carolina octubre 8, 2008 en 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

    • 192 Omar Alonso Manzano Cháidez noviembre 3, 2012 en 10:13 pm

      Tengo tu respuesta Carolina. Mándame tu correo y allí te la envío. Saludos desde Durango, México.

      • 193 Maria noviembre 6, 2013 en 1:53 am

        Hola Omar Alonso, tengo el mismo problema de Carolina, necesito convertir notas de planillas de calificaciones a numero Ej: 4,5 = cuatro cinco
        Podrías ayudarme?
        Gracias
        Maria

  137. 194 Lupita Ramirez octubre 8, 2008 en 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

  138. 195 Lupita Ramirez octubre 9, 2008 en 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.

  139. 196 carlos rojas octubre 15, 2008 en 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

  140. 197 Marcelo octubre 18, 2008 en 8:08 am

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

  141. 198 CLAUDIA octubre 20, 2008 en 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

  142. 199 Fredy octubre 21, 2008 en 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

  143. 200 MIGUEL octubre 22, 2008 en 10:02 am

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

    GRACIAS

  144. 201 Edgar, Guatemala octubre 23, 2008 en 4:34 pm

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

  145. 202 Edgar López octubre 25, 2008 en 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.

  146. 203 hector salinas octubre 30, 2008 en 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

  147. 204 shapo octubre 30, 2008 en 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

  148. 205 Carzuri octubre 31, 2008 en 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

  149. 206 sneker noviembre 1, 2008 en 5:36 am

    gracias te estare eternemente agradecido

  150. 207 joseph noviembre 4, 2008 en 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

  151. 208 WILLDV noviembre 8, 2008 en 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

  152. 209 gchable noviembre 8, 2008 en 1:47 pm

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

  153. 210 WILLDV noviembre 10, 2008 en 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?

  154. 211 Kira-Sama noviembre 11, 2008 en 7:58 pm

    Excelente trabaja muy bien, gracias…

  155. 212 maribel noviembre 18, 2008 en 7:25 pm

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

  156. 213 Maria Eliza noviembre 19, 2008 en 9:35 am

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

  157. 214 Marce noviembre 19, 2008 en 3:40 pm

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

  158. 215 DENISSE CAMPOS noviembre 21, 2008 en 9:32 am

    GRACIAS TE PASATE….

  159. 216 DENISSE CAMPOS noviembre 21, 2008 en 10:02 am

    GRACIAS TE PASASTE….ERES UN GENIO

  160. 217 Vanessa Montengro noviembre 24, 2008 en 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

  161. 218 Lusa noviembre 24, 2008 en 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!!!!

  162. 219 Fer noviembre 25, 2008 en 9:38 am

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

  163. 220 Sara noviembre 26, 2008 en 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

  164. 221 tonyluks noviembre 27, 2008 en 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!!

  165. 222 Carlos diciembre 1, 2008 en 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

  166. 223 BERE diciembre 8, 2008 en 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!

  167. 224 Joey diciembre 9, 2008 en 3:46 pm

    Excelente aportacion! Muy bien explicado! 100% Mexicano!

    FELICIDADES!

  168. 225 hector diciembre 9, 2008 en 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

  169. 226 Alejandra diciembre 10, 2008 en 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

  170. 227 bakmax diciembre 17, 2008 en 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.

  171. 228 jorge alberto lopez t diciembre 19, 2008 en 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

  172. 229 Laura diciembre 28, 2008 en 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

  173. 230 ALEJANDRO diciembre 28, 2008 en 9:54 pm

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

  174. 231 omar diciembre 29, 2008 en 2:09 pm

    por fin algo que realmente sirve ..!!

  175. 232 Jose Ugaz diciembre 30, 2008 en 9:35 am

    Excelente, grn aporte y grcias por compartir tus conocimientos.

  176. 233 Cesar Ramirez diciembre 30, 2008 en 12:52 pm

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

  177. 234 anyha diciembre 30, 2008 en 3:31 pm

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

  178. 235 gerardo enero 2, 2009 en 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.

  179. 236 Francisco enero 9, 2009 en 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

  180. 237 Fabian Gonzalez enero 9, 2009 en 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é….

  181. 238 raul de nuevo laredo enero 9, 2009 en 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

  182. 239 GIO enero 10, 2009 en 12:07 am

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

  183. 240 Philips enero 13, 2009 en 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

  184. 241 Richhy enero 15, 2009 en 6:51 pm

    Me podria decir como le quito los parentesis

    delarivaricardo@turbonett.com

    gracias

  185. 242 LUIS OROZCO enero 16, 2009 en 2:40 pm

    CHULADA

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

  186. 243 Elizabeth enero 22, 2009 en 4:42 pm

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

  187. 244 CARLOS EBRIQUEZ enero 23, 2009 en 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

  188. 245 Gerardo Serratos enero 23, 2009 en 3:25 pm

    Simplemente !Excelente! si me sirvio muchas gracias….

  189. 246 Cesar Armando febrero 7, 2009 en 1:38 pm

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

  190. 247 HERNANDO febrero 10, 2009 en 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.

  191. 248 Carlos febrero 10, 2009 en 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.

  192. 249 Carlos febrero 10, 2009 en 7:33 pm

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

  193. 250 julieta febrero 11, 2009 en 9:49 pm

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

  194. 251 Rene febrero 12, 2009 en 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.

  195. 252 Rene febrero 12, 2009 en 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.

  196. 254 jorge febrero 13, 2009 en 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

  197. 255 jose guadalupe jacinto febrero 14, 2009 en 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.

  198. 256 NANCY HERNANDEZ febrero 16, 2009 en 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!!!!

    • 257 CAMILO TORRES marzo 3, 2011 en 3:53 pm

      Buenas tardes, creo que el problema que tienes es muy sencillo, tienes que ir al panel de control y cambiar la configuración regional y de idioma. Tienes que ir a personalizar, se abre las opsiones simbolo decimal, número de digitos decimales…etc. hay debes cambiar el simbolo decimal por el punto(.) y el simbolo de separación de miles por la coma(,)

      Espero que te funcione…

  199. 258 LUIS febrero 16, 2009 en 9:05 pm

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

  200. 259 Arturo febrero 17, 2009 en 4:41 pm

    Gracias, muy buen codigo y de mucha ayuda.

  201. 260 Gabriel Are febrero 21, 2009 en 12:19 am

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

  202. 261 JORGE L HERNANDEZ A febrero 22, 2009 en 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.

  203. 262 Lupita febrero 25, 2009 en 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.

  204. 263 MIGUEL ANGEL PEREZ febrero 25, 2009 en 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.

  205. 264 Aron febrero 26, 2009 en 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!

  206. 265 LUISENRIQUE marzo 1, 2009 en 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

  207. 266 Luis Valenzuela marzo 2, 2009 en 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.

  208. 267 JOSE DIAZ marzo 3, 2009 en 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

  209. 268 Victor marzo 4, 2009 en 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?

  210. 269 Anónimo marzo 4, 2009 en 5:22 pm

    mucha gracias muy bueno

  211. 270 Allan marzo 5, 2009 en 2:49 pm

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

  212. 271 anonimo marzo 9, 2009 en 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

  213. 272 Margarita marzo 17, 2009 en 3:27 pm

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

    Gracias

  214. 273 Eliana marzo 17, 2009 en 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

  215. 274 Anónimo marzo 19, 2009 en 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

  216. 275 Diana marzo 24, 2009 en 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

  217. 276 Ricardo Guzman marzo 26, 2009 en 8:52 pm

    MIl gracias un macro muy util y buenisimo

  218. 277 MARCELO marzo 27, 2009 en 6:27 pm

    Gacias mil……

  219. 278 ALEJANDRO CHILE abril 4, 2009 en 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

  220. 279 gchable abril 4, 2009 en 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

  221. 280 ridae abril 6, 2009 en 7:37 pm

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

    SALUDOS

  222. 281 Erisel Gomez abril 9, 2009 en 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

  223. 282 El autentico y unico Don abril 15, 2009 en 2:03 pm

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

  224. 283 axcarq abril 16, 2009 en 1:21 pm

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

  225. 284 Walter Paz abril 17, 2009 en 6:24 pm

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

  226. 285 Jose Mora abril 17, 2009 en 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

  227. 286 JOSE DE JESUS abril 20, 2009 en 5:57 pm

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

  228. 288 Elizabeth abril 27, 2009 en 12:39 pm

    La verdad muchisisisisisisimas GRACIAS!!!!!

  229. 289 sandy mayo 5, 2009 en 4:55 pm

    gracias me sirvio de mucho muchas gracias….me salvaste

  230. 290 Matias Medina mayo 6, 2009 en 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

  231. 291 Rossy mayo 11, 2009 en 6:11 pm

    Muchisisisisisisimas gracias
    eres un angel

  232. 292 VICTOR mayo 16, 2009 en 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.

  233. 293 Marco mayo 20, 2009 en 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.

  234. 294 Enrique mayo 21, 2009 en 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

  235. 295 HOGO1 mayo 21, 2009 en 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

  236. 296 Fer mayo 22, 2009 en 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.

  237. 297 Zurdo mayo 25, 2009 en 4:23 pm

    Muy Buen Aporte Gracias

  238. 298 CARLOS mayo 28, 2009 en 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

  239. 299 gchable mayo 28, 2009 en 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.

  240. 300 CARMEN mayo 29, 2009 en 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.

  241. 301 erisel mayo 29, 2009 en 2:13 pm

    Oye mil gracias, esta super way

    me has salvadola vida, saludos desde cancun

  242. 302 Mimi mayo 29, 2009 en 2:37 pm

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

  243. 303 gchable mayo 29, 2009 en 2:45 pm

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

  244. 304 SANTANA90210 mayo 29, 2009 en 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!!!!

  245. 305 Rafael junio 2, 2009 en 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

  246. 306 yadira junio 2, 2009 en 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

  247. 307 Constancio Cordoba junio 3, 2009 en 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.

  248. 308 FREDDY HDEZ PARRA junio 4, 2009 en 12:06 am

    MASTER . . . MUCHAS GRACIAS

    ME ES MUY ÚTIL TU MACRO.

    SALUDOS DESDE VERACRUZ

  249. 309 Fidel Cruz junio 9, 2009 en 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

  250. 310 CARLOS ROMO junio 10, 2009 en 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

  251. 311 Fidel Cruz junio 10, 2009 en 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

  252. 312 Esme junio 11, 2009 en 11:11 am

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

    Saludos Esme

  253. 313 Liz Valadez junio 12, 2009 en 11:38 am

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

    Saludos desde Queretaro, México

    LIZ.

  254. 314 Jose Luis junio 16, 2009 en 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.

  255. 315 Moralitos junio 17, 2009 en 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

  256. 316 JULIO junio 17, 2009 en 10:45 pm

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

  257. 317 HUMBERTO junio 19, 2009 en 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

  258. 318 Jose Pablo junio 30, 2009 en 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

  259. 319 seven julio 2, 2009 en 12:04 pm

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

  260. 320 Edg@r julio 2, 2009 en 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

  261. 321 Ana julio 2, 2009 en 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!

  262. 322 raul caro o. julio 9, 2009 en 9:36 pm

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

  263. 323 DIEGO SOLANO julio 10, 2009 en 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

  264. 324 Daniel Lama Romero julio 11, 2009 en 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

    • 325 gchable julio 11, 2009 en 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.

  265. 326 PABLO julio 17, 2009 en 2:46 pm

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

  266. 327 GUS julio 20, 2009 en 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!!

  267. 328 CESAR RODRIGUEZ julio 22, 2009 en 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

  268. 329 Enrique julio 23, 2009 en 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

  269. 330 PARKER julio 26, 2009 en 6:53 am

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

  270. 331 Hector julio 29, 2009 en 6:13 pm

    MIL GRACIAS ERA LO QUE ESTAB BUSCANDO

  271. 332 Mauro julio 30, 2009 en 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

  272. 333 MGarza julio 31, 2009 en 9:43 pm

    Excelentisimo !!! Gracias…

  273. 334 Fernando agosto 2, 2009 en 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

  274. 336 LuisB agosto 3, 2009 en 5:09 pm

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

  275. 337 renegado agosto 3, 2009 en 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

  276. 338 renegado agosto 4, 2009 en 12:17 am

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

  277. 339 MARCO_CHILE agosto 4, 2009 en 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

  278. 340 CARLOS agosto 5, 2009 en 2:32 pm

    OYE ES MUY SENCILLA TU EXPLICACION GRACIAS…

  279. 341 esteban agosto 6, 2009 en 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.

  280. 342 David agosto 7, 2009 en 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?

  281. 343 jazcris agosto 10, 2009 en 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

  282. 344 Marco Antonio Cardenas agosto 12, 2009 en 8:49 pm

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

  283. 345 Connie Sorcia agosto 13, 2009 en 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.

  284. 346 Marco Antonio Popoca agosto 20, 2009 en 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.

  285. 347 JOSE DE JE agosto 22, 2009 en 12:10 am

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

  286. 348 Anónimo agosto 26, 2009 en 10:39 am

    no le entendi a nada

  287. 349 Serapio Reséndiz agosto 28, 2009 en 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

  288. 350 Jean agosto 30, 2009 en 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.

  289. 351 BEN ANAYA agosto 30, 2009 en 8:40 pm

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

  290. 352 Serapio Reséndiz agosto 31, 2009 en 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

  291. 353 Serapio Reséndiz septiembre 1, 2009 en 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

  292. 354 Leonardo septiembre 2, 2009 en 6:40 pm

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

  293. 355 CAMALEON_W septiembre 7, 2009 en 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…

  294. 356 Serapio Reséndiz septiembre 8, 2009 en 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()

    • 357 JOSE CONTRERAS octubre 19, 2013 en 12:11 pm

      Hola Serapio Reséndiz:

      LEI TU COMENTARIO SOBRE LA FORMA EN LA QUE SE PUEDE GRAVAR UNA MACRO DE FORMA PERMANENTE EN EXCEL (2007) EN MI CASO.

      PODRIAS ENVIARME LA EXPLICACION COMPLETA (INCLUYENDO IMAGENES)?

      MI CORREO ES xt20@yahoo.com

      GRACIAS.

  295. 358 MikeMR septiembre 10, 2009 en 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

  296. 359 MikeMR septiembre 10, 2009 en 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.

  297. 360 gchable septiembre 10, 2009 en 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

  298. 361 geronides septiembre 10, 2009 en 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

  299. 362 MikeMR septiembre 11, 2009 en 10:44 am

    Gracias otra vez hermano! Buen día!

  300. 363 yaz septiembre 11, 2009 en 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

  301. 364 Serapio Reséndiz septiembre 11, 2009 en 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

  302. 365 alexa septiembre 14, 2009 en 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¡¡¡

    • 366 Serapio Reséndiz septiembre 14, 2009 en 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,

  303. 367 alexa septiembre 15, 2009 en 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 …

  304. 368 EL 5° Be@tle septiembre 23, 2009 en 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

  305. 369 Serapio Reséndiz septiembre 24, 2009 en 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

  306. 370 JESUS septiembre 25, 2009 en 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!!

  307. 371 jose amabilis septiembre 26, 2009 en 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

  308. 372 JONATHAN GIL septiembre 29, 2009 en 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.

  309. 373 JONATHAN GIL septiembre 29, 2009 en 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

    • 374 gchable septiembre 29, 2009 en 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).

  310. 375 naxhieli septiembre 30, 2009 en 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!!!

  311. 376 chely octubre 3, 2009 en 3:46 pm

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

  312. 377 Rick octubre 5, 2009 en 9:34 pm

    Excelente amigo muchas gracias, muy buena aportacion

  313. 378 green7715 octubre 6, 2009 en 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

  314. 379 lyz octubre 8, 2009 en 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

  315. 380 Archy octubre 13, 2009 en 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

  316. 381 Pedro Castellanos Díaz octubre 13, 2009 en 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.

  317. 382 Rodo octubre 14, 2009 en 12:34 pm

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

  318. 383 gladys octubre 14, 2009 en 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

  319. 385 Adriano octubre 15, 2009 en 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

  320. 394 Adriano octubre 15, 2009 en 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.

  321. 395 Cris Morales octubre 15, 2009 en 11:42 am

    Muchas gracias… la verdad esta muy facil y muy sencilloo

    excelente

    muchas graciass

    Monterrey, NL.

  322. 396 Elvia López octubre 18, 2009 en 10:40 pm

    Funciona muy bien ¡gracias!
    Buen día

  323. 397 Felipe Gallardo octubre 21, 2009 en 8:15 am

    Excelente me sirvio de mucho! gracias

  324. 398 ramon octubre 22, 2009 en 10:37 am

    Gracias HErmano

    Esta de peluche

    Saludos desde Monclova, Coahuila

  325. 399 Dennis octubre 22, 2009 en 1:51 pm

    Excelente Explicacion y el codigo muy bueno…Gracias

  326. 400 LAURA octubre 22, 2009 en 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…

  327. 401 Omar Antonio octubre 22, 2009 en 6:12 pm

    BUEN DETALLE, GRACIAS.
    MUCHOS SALUDOS!!!

  328. 402 Angelotakus octubre 22, 2009 en 7:21 pm

    Gracias por el macro, estuvo excelente.

  329. 403 Luis Vasquez octubre 22, 2009 en 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!

  330. 404 NORBERTO octubre 26, 2009 en 5:31 pm

    MUCHAS GRACIAS FUNCIONA MUY BIEN

  331. 405 Randall A octubre 29, 2009 en 4:54 pm

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

    Excelente por el aporte de sus conocimientos.

  332. 406 Manuel Vallejos octubre 29, 2009 en 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

  333. 407 Luis Emilio octubre 30, 2009 en 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

  334. 408 Yes noviembre 6, 2009 en 6:13 pm

    Muchas gracias, su articulo me ha sido de gran ayuda

  335. 409 ISA noviembre 7, 2009 en 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 (=

  336. 410 ISA noviembre 7, 2009 en 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!

    • 411 Anónimo noviembre 23, 2009 en 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.

    • 412 Adriano noviembre 23, 2009 en 7:11 pm

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

  337. 413 Ginn noviembre 11, 2009 en 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!!!

  338. 414 JUAN ERIC noviembre 17, 2009 en 2:08 pm

    EXCELENTE AMIGO, MUCHAS GRACIAS, FABULOSO Y MUY EFECTIVO.

    FELICIDADES POR TU GENIO !!

  339. 415 BRENDA GARCIA noviembre 18, 2009 en 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

  340. 416 Juan José noviembre 20, 2009 en 12:16 am

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

  341. 417 SANDY noviembre 23, 2009 en 8:46 pm

    GRACIAS SI NO PONDRIA ESO MI EXAMEN NO VALDRIA

  342. 418 JOSE ABEL noviembre 24, 2009 en 12:18 pm

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

    EXCELENTE.

    SALUDOS DE CULIACAN SIN.

  343. 419 latemizo noviembre 28, 2009 en 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!

    • 420 Adriano_28 diciembre 7, 2009 en 2:10 pm

      Que tal, mira tengo un complemento que al igual que esta macro transcribe cualquier cantidad con letra y maneja número negativos también, si quieres te lo mando. Tiene varias opciones más que encontrarás muy interesantes y útiles, mi correo tosj820128@yahoo.com.mx.

  344. 421 MARI diciembre 3, 2009 en 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.)

  345. 422 MARI diciembre 3, 2009 en 1:27 pm

    PORFAVOR SOLO DAMELA SIP

  346. 423 Percyño diciembre 4, 2009 en 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…

  347. 424 lino diciembre 5, 2009 en 2:05 pm

    esta chido tus explucaciones gracias buen dia

  348. 425 Nevid MAres diciembre 9, 2009 en 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.

  349. 427 JCid diciembre 14, 2009 en 11:10 am

    Muchas gracias!!!…..esta excelente

  350. 428 Angel diciembre 14, 2009 en 1:34 pm

    Excelente, eso de no saber nada de programacion de macros es mi coco, y mucha gracias es el tuto mas claro q encontre.

  351. 429 Omar Antonio diciembre 15, 2009 en 11:08 pm

    Hola Gonzalo, Antes que nada dejame ferlicitarte por tu aportación, es muy Buena.

    Tambien quisiera saber si me puedes ayudar con una macro en exel para eleborar facturas. Ya tengo diseñado el libro exel solo me falta crear una macro para que funcione.

    Nota: Estoy dispuesto a Pagar.

    Mi Correo furiosito@live.com.mx

    ¡Saludos!!!

    • 430 gchable diciembre 16, 2009 en 10:28 am

      Que tal Omar Antonio, me gustaría ayudarte, pero como ves este blog apenas lo mantengo por falta de tiempo, pero no te desesperes, encontrarás lo que buscas.

      Suerte Hermano y felices fiestas

  352. 431 Pablo Cesar diciembre 18, 2009 en 10:25 am

    Buenas Gente, por ahi leí que necesitaban para los Negativos, bueno lo que hice es agregarle las Siguientes Lineas

    …….
    Dim bValue As String

    bValue = “0″
    If tyCantidad 1, ” SOLES “, ” SOL “) & ” CON ” & Format(Str(lyCentavos), “00″) & “/100)”
    End If

    …………

    Bueno como ejemplo le pongo los Negativos entre “( )”, Paréntesis, claro que tambien se puede poner el texto de Color Rojo, tantas cosas

    Espero Sirva de Algo.

  353. 432 Pablo Cesar diciembre 18, 2009 en 10:26 am

    Buenas Gente, por ahi leí que necesitaban para los Negativos, bueno lo que hice es agregarle las Siguientes Lineas

    Dim bValue As String

    bValue = “0″
    If tyCantidad 1, ” SOLES “, ” SOL “) & ” CON ” & Format(Str(lyCentavos), “00″) & “/100)”
    End If

    Bueno como ejemplo le pongo los Negativos entre “( )”, Paréntesis, claro que tambien se puede poner el texto de Color Rojo, tantas cosas

    Espero Sirva de Algo.

  354. 433 Dgless diciembre 28, 2009 en 7:51 pm

    Gracias mi estimado, me has ayudado enorme….. y respecto de quienes se adjudican los trabajos de alguien mas pues que poca, pero en fin cada quien tiene la satisfacción de hacer lo que sabe hacer. Doble mi reconocimiento para quien inicio este codigo y gracias a ti por pasarnoslo.

  355. 434 gorgegonz diciembre 29, 2009 en 7:32 pm

    Excelente aporte, me has ayudado como no tienes idea, continua asi, gracias por compartir tus conocimientos.

    saludos afectuosos y un cordial abrazo.

  356. 435 BigArt diciembre 30, 2009 en 12:43 pm

    excelente la aportacion y la explicacion de la conversion de numeros a letras, te agradesco tu aportacion gonzalo

    atte

    BigArt

  357. 436 Elmercito enero 2, 2010 en 10:39 am

    Muchas Gracias creo que interesante y bien explicativo y funcional

  358. 437 Sergio enero 8, 2010 en 10:06 am

    Grande, facíl de hacer, muchas gracias me fue muy útil

    Gracias nuevamente

  359. 438 Guillermo enero 10, 2010 en 10:59 pm

    MUCHISIMAS GRACIAS ME SACO DE UN APURO TREMENDO, NUEVAMENTE GRACIAS

  360. 439 GERARDO enero 14, 2010 en 12:09 pm

    HOLA
    BUENOS DIAS
    HACE TIEMPO ME AYUDASTW MUCHO EN PONER ESTA FORMULA, COPMO LE HAGO PARA UTILIZARDO EN WINDOS 7. SE PUEDE??

    DE ANTEMANO MUCHAS GRACIAS.

    • 440 gchable enero 14, 2010 en 1:20 pm

      Que tal Gerardo, si se puede, Será Office 2007, no uso ese office, lee los comentarios de arriba, si se puede.

      Saludos

      El 14/01/2010 11:09 a.m. gonzalo,

  361. 441 GERARDO enero 14, 2010 en 7:07 pm

    GRACIAS.

    ACABO DE COMPRAR UNA LAP TOP Y VIENE CON WINDOWS 7 HOME BASIC.
    CUANDO ABRO UN ARCHIVO DE EXEL, EN HERRAMIENTAS NO VINE LA OPCION DE MACRO, O DONDE LO BUSCO.
    GRACIAS
    GERARDO

    • 442 gchable enero 14, 2010 en 7:13 pm

      Que tal Gerardo, busca en el icono de Office en la esquina superior izquierda->opciones de Excel->Mostrar la ficha de programador en la cinta de opciones, o lee los comentarios, por ahi esta la respuesta.

      Saludos

      El 14/01/2010 06:07 p.m. gonzalo,

  362. 443 lucy enero 18, 2010 en 12:52 am

    hola
    ya copie y pegue el macro regrese a mi hoja de excel y listo queda todo perfecto pero al volver a a brir mi archivo no aparece el macro por que ya lo grabe tanto en el editor como en mi archivo de excel, te agradeceria me contestes.

    bye.

  363. 444 David Esteban enero 18, 2010 en 9:12 am

    felicidades , me ha servido bastante, sigue asi,aportando tus conocimientos a quienes lo necesitamos

  364. 445 Gabriel Cordero enero 18, 2010 en 5:08 pm

    Muchas gracias por tu aportación, me has ayudado como no tienes idea. Saludos

  365. 446 Ferchazo enero 21, 2010 en 11:29 am

    Excelente amigo, muy buen aporte… no tienes idea cuanto me sirvio y q tan impresionaron quedaron mis jefes jeje… sigue adelante..
    saludos desde Ecuador.

  366. 447 Rafael enero 26, 2010 en 3:03 pm

    hola amigos de este grandioso block tengo una preguntita que hacerles y espero que me pueden ayudar, hace unos días descarge este programa “computacion plus”
    el problema es en el editor de facturar pre impresas ya que cree mi plantilla de facturas pero a la hora que mando a imprimir una factura en el lado izquierdo donde tendría que salirme el monto en letras me sale el total pero en pesoso y no quiero que me salga en pesos si no en soles ya que aqui en Perú el peso no es nuestra moneda si no el nuevo sol “S/.”

    Por ejemplo si me factura fuera en número (S/. 1526.70) tendría que ser en letras “SON: Mil Quinientos Veintisiete Con 70/100 Nuevos Soles”

    En el siguiente link subí mi plantilla de facturas creada.
    http://rapidshare.com/files/341093956/factura.frf.html

  367. 448 Wilson enero 31, 2010 en 7:49 pm

    Muchas Gracias por tu aporte, lo estaba necesitando con esas particularidades

  368. 449 LALO febrero 4, 2010 en 1:21 am

    hola, gracias por esta solucion, es super practico
    Saludos desde reynosa

  369. 450 Alejandra febrero 4, 2010 en 11:40 am

    Mil Gracias, no saben de cuanta ayuda ha sido para mi.
    Saludos.

  370. 451 GUS febrero 5, 2010 en 12:58 am

    como le hago para usarlo en word, ya copie el codigo en macro para word, ahora solo me falta un ejemplo de como funciona

  371. 452 Anónimo febrero 7, 2010 en 9:48 pm

    HOLA,

    MIL GRACIAS, SON GRANDES CHICOS… FELICIDADES X SER TAN BUENOS Y QUERER COMPARTIRLO…. GRACIAS MIL….

    TERE SOLIS

  372. 453 oscar febrero 10, 2010 en 3:14 pm

    Hola,

    disculpen tambien segui las instrucciones y tengo el mismo problema que Vero.
    Tavo, me podras indicar como realizar lo senalado en el primer parrafo o bien si alguien me puede apoyar se los agradeceria muchisimo.
    saludos

    Tavo
    Noviembre 27, 2009 en 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.

  373. 454 GABRIEL febrero 24, 2010 en 7:23 pm

    EL CODIGO QUE VAN A INSERTAR EN EL EDITOR DE VISUAL VASIC QUE SE ABRE DE ESTA FORMA: HERRAMIENTAS/MACRO/EDITOR DE VISUAL VASIC/INSERTAR/MODULO Y AY PEGAN EL CODIGO DE ABAJO,PD: ESTE CODIGO ES DIFERENTE ASI QUE PARA ASERLO FUNCIONAR HAY QUE ESCREVIR =PESOS(A1) EN LA CELDA B1 Y EN LA CELDA A1 ESCRIVIR NUMERO CUALQUIERA(SOLO LLEGA HASTA LOS MILLONES) BUENO SIGUIENDO EL CODIGO ES:

    Function Pesos(Number As Double) As String

    Const MinNum = 1#
    Const MaxNum = 4294967295.99

    Dim Numbers, Tenths, Result As String
    Numbers = Array(“CERO”, “UNO”, “DOS”, “TRES”, “CUATRO”, “CINCO”, “SEIS”, “SIETE”, “OCHO”, “NUEVE”, “DIEZ”, “ONCE”, “DOCE”, “TRECE”, “CATORCE”, “QUINCE”, “DIECISEIS”, “DIECISIETE”, “DIECIOCHO”, “DIECINUEVE”)
    Tenths = Array(“CERO”, “DIEZ”, “VEINTE”, “TREINTA”, “CUARENTA”, “CINCUENTA”, “SESENTA”, “SETENTA”, “OCHENTA”, “NOVENTA”)

    If (Number >= MinNum) And (Number <= MaxNum) Then
    Result = RecurseNumber((Fix(Number)))

    If Round((Number – Fix(Number)) * 100) < 10 Then
    Result = Result + " 0" + Mid(Str(Round((Number – Fix(Number)) * 100)), 2, 1) + "/100 DOLARES"
    Else
    Result = Result + " " + Str(Round((Number – Fix(Number)) * 100)) + "/100 dolares"
    End If
    Else
    Result = "NO HAY RESULTADOS"

    End If
    Pesos = Result
    End Function

    Function RecurseNumber(N As Long) As String

    Dim Numbers, Tenths
    Numbers = Array("CERO", "UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE", "OCHO", "NUEVE", "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", "DIECIOCHO", "DIECINUEVE")
    Tenths = Array("CERO", "DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA", "SESENTA", "SETENTA", "OCHENTA", "NOVENTA")
    Hundrens = Array("CERO", "CIENTO", "DOSCIENTOS", "TRESCIENTOS", "CUATROCIENTOS", "QUINIENTOS", "SEISCIENTOS", "SETECIENTOS", "OCHOCIENTOS", "NOVECIENTOS")

    Dim Result As String
    Select Case N
    Case 0
    Result = ""
    Case 1 To 19
    Result = Numbers(N)
    Case 20 To 99
    If N Mod 10 0 Then
    Result = Tenths(N \ 10) + ” Y ” + RecurseNumber(N Mod 10)
    Else
    Result = Tenths(N \ 10) + ” ” + RecurseNumber(N Mod 10)
    End If
    Case 100 To 999
    If N \ 100 = 1 Then
    If N = 100 Then
    Result = “CIEN” + ” ” + RecurseNumber(N Mod 100)
    Else
    Result = Hundrens(N \ 100) + ” ” + RecurseNumber(N Mod 100)
    End If
    Else
    Result = Hundrens(N \ 100) + ” ” + RecurseNumber(N Mod 100)
    End If
    Case 1000 To 999999
    Result = RecurseNumber(N \ 1000) + ” MIL ” + RecurseNumber(N Mod 1000)

    Case 1000000 To 1999999
    Result = RecurseNumber(N \ 1000000) + ” MILLON ” + RecurseNumber(N Mod 1000000)
    Case 2000000 To 999999999
    Result = RecurseNumber(N \ 1000000) + ” MILLONES ” + RecurseNumber(N Mod 1000000)
    Case 1000000000 To 4294967295#
    Result = RecurseNumber(N \ 1000000000) + ” BILLONES ” + RecurseNumber(N Mod 1000000000)

    End Select
    RecurseNumber = Result
    End Function

    • 455 gchable febrero 25, 2010 en 10:37 am

      Hola Gabriel, fijate que al pegar tu codigo en el editor de Visual Basic, marca error, puede ser que al momento de pegar la informacion aqui se movio algo? por que no subes la macro en alguna pagina para bajarlo?

  374. 456 Vidal febrero 26, 2010 en 4:15 pm

    HOLA GONZALO,PS FELICITACIONES, HE ESTADO BUSCANDO ESTA FUNCION DESDE HACE MUCHO TIEMPO, DIOS TE BENDIGA

  375. 457 G@TTO marzo 7, 2010 en 8:42 am

    BUENISIMO ESTE TUTORIAL, ME GUSTARIA ALGUIEN ME DE LOS PASOS PARA GUARDARLO,POR FAVOR.

  376. 458 Carolina Cobian marzo 8, 2010 en 3:55 pm

    Excelente apoyo y muchas gracias por publicarlo… Yo no se por que 2007 no lo tiene por default… :| Saludos :D

  377. 459 obed gallegos marzo 10, 2010 en 1:15 pm

    que barbaro amigo eres todo un genio algun dia sere como tu, esta super bien el codigo me salvaste eldia suerte cuate

  378. 460 YEIMI marzo 10, 2010 en 5:00 pm

    HOLA PRIMERO QUE NADA GRACIAS POR LA INFORMACION ME AYUDO MUCHO.PERO NO SE COMO GUARDAR LA MACRO ALGIEN ME PODRIA DECIR COMO HACERLO?

    GRACIAS.

  379. 461 ANTONIO RODRIGUEZ marzo 11, 2010 en 8:15 pm

    gracias amigo, por el codigo, y las indicaciones a seguir. esta muy bueno, se los recomiendo.

    despues de realizar los procedimientos, no olviden guardar, y listo.

    ha, para que funcione, debes cerrar el libro, y vuelves a abrir, de inmediato te aparece un cuadro de dialogo, dar en habilitar macros. e insertas la siguiente formula =pesosMN(celda en donde tengas la cantidad) y listo.

    problema resuelto.

  380. 462 jesus dircio marzo 15, 2010 en 4:42 pm

    soy una persona que no tengo mucho conocimiento en excel nopodrias publicar el codigo para bajarlo con las instrucciones ahi mismo

  381. 463 JANETH marzo 17, 2010 en 7:56 am

    hola,,,, qusiera saber como hago paraque el resultado aparezca asi:
    ejemplo son:TRES MILLONES DOSCIENTOS MIL PESOS M/CTE
    te agradezco tu colaboracion

  382. 464 ANY marzo 18, 2010 en 9:35 pm

    Hola, muchas gracias por el aporte, tenia mucho tiempo buscando la manera de convertir importes numéricos a importes con letra, ya habia encontrado el codigo en otras páginas pero no sabia las instrucciones para instalarlo, la verdad te agradesco que hayas puesto paso a paso como ingresar el codigo para poder utilizarlo.

  383. 465 alain amaro marzo 21, 2010 en 4:05 pm

    muchas gracias te felicito el tuyo es el mejor con la explicacion adecuada y el ahorro de mucho trabajo

  384. 466 Omar marzo 24, 2010 en 12:46 pm

    Gonzalo. Este codigo me ha sido de gran utilidad pues estoy haciendo un formato para llenar mis cheques y asi le ahorro un paso a la contadora y ademas elimino posibilidades de error al teclear la cantidad con letra.
    Muchas gracias por compartirnos estos conocimientos de una manera tan clara.
    un abrazo.
    Omar

  385. 467 Ronald marzo 25, 2010 en 4:55 pm

    q exelente aporte amigo, creeme q me has hecho ganar adeptos con una chik ademas q es necesario tener este tipo de informarcion para cualquier documento, bien dicen que ‘ EL QUE SABE Y PUEDE SE DIVIERTE ‘ GRACIAS !!!!

  386. 468 Anónimo marzo 26, 2010 en 2:33 pm

    FELICIDADES Y MUCHAS GRACIAS

  387. 469 Aaron abril 1, 2010 en 7:02 pm

    A mi no me funciona en 2007 me pone #NAME? ya fui y baje el niveld e seguridad y nada alguien me peude ayudar??? por favor!!!! Lo necsito para hacer facturas

  388. 470 joce abril 2, 2010 en 1:45 pm

    ya hice todo lo que viene en tus instrucciones y si corrio bien pero cerre la ventana del excel y lo abri nuevamente y ya no corrio ademas quise hacerlo correr en un archivo donde lo nesecito y no quiso y no se como guardarlo como complemento ni “guardar como” por que el visual basic no me da esa opcion. de antemano gracias espero tu respuesta.

  389. 471 Roger abril 2, 2010 en 1:52 pm

    Muchas gracias es de gran utilidad, bueno le modifique la parte donde dice son: bueno esa parte la omiti , de nuevo mil gracias

  390. 472 gaby abril 9, 2010 en 5:44 pm

    Muchas gracias!!!!

  391. 473 EXPLORANDO abril 11, 2010 en 1:12 pm

    excelente la aplicación la estube buscando y afortunadamente me encontre con esta página y ha funcionado bastente bien en 2007m solo tuve que quitarle la palabra son, y quedo justo lo que necesitaba, en hora buena y gracias por compartirlo

  392. 474 Nestorco abril 14, 2010 en 11:55 am

    SOS UN MONSTRUO !!!

    Muy claro para explicar, la formula de el resultado esperado con una muy facil forma de explicar.
    Muchisimas gracias desde Chile.

    Un abrazo.

  393. 475 jam abril 16, 2010 en 12:00 am

    gracias de verdad lo explicas super claro!!!

  394. 476 margarita perez abril 16, 2010 en 12:08 am

    Gracias, de tanto buscar y buscar es fue el que me sirvio…de nuevo gracias

  395. 477 LUISILVER abril 17, 2010 en 11:03 am

    EXCELENTE APORTE, MUCHAS FELICIDADES ME FUNCIONO DE MARAVILLA. MUY BIEN EXPLICADO, Y SE COMPRENDE MUY FACILMENTE, SIGUE ASI, TE MANDO UN CORDIAL SALUDO Y GRACIAS

  396. 478 Santiago abril 20, 2010 en 11:09 pm

    Saludos
    Por favor si me pueden ayudar necesito cambiar de pesos a dolares como puedo hacer
    gracias

  397. 479 Santiago abril 20, 2010 en 11:27 pm

    Saludos
    muchas gracias, ya logré cambiar la fórmula y me sirvio. les agradesco un mundo.

  398. 480 Santiago abril 21, 2010 en 12:14 am

    Saludos
    Les vuelvo a molestar por favor si me pueden ayudar como puedo gravar la formula, por que cada vez que cierro exel se me pierde la formula
    gracias

  399. 481 mari abril 21, 2010 en 6:13 pm

    hola!
    ¿como hago para que al insertar una fecha y al momento de dar enter en otra celda me aparesca el nombre del mes?..me encantaría que me ayudara a resolver este problema

  400. 483 ervin abril 22, 2010 en 11:34 pm

    Gracias, es de gran utilidad, solo le hice unos cambios para adecuarlos a mis necesidades muy agradecido

  401. 484 Aracely abril 26, 2010 en 12:07 pm

    Hola, mira soy nueva en esto, y no sé como guardar el módulo para posteriormente utilizarlo en cualquiera de mis archivos, ya le intenté y no puedo tengo excel 2007, ¿me puedes decir cómo paso a paso? muchas gracias por no ser egoísta!!!! Dios te bendiga!

  402. 485 Jorge abril 26, 2010 en 4:39 pm

    La verdad gracias, siempre quise saber como hacer esta funcion. se agradece mucho el compartas tus conocimientos.

    Saludos

  403. 486 FRNACIASCO abril 27, 2010 en 12:56 pm

    GRACIAS SOLO UNA PREGUN TA NO ABRA MANERA DE QUE NO APARES CALE SON QUE SOLO SEA EL TEXTO BUENO GRACIAS…

  404. 487 walter abril 28, 2010 en 10:00 pm

    me preguno como puede colocar la palabra “con” antes de 00/100 para que se mire mas con elegancia.

  405. 489 Adryxs_23 abril 29, 2010 en 6:58 pm

    wow…. esto esta super bien, de verdad se les agradece

  406. 490 Orlando Camargo Rodriguez abril 30, 2010 en 7:47 am

    Buenos dias:

    Necesito su amable colaboracion, quiero aplicar la funcion PESOS MN, en Excel 2007; pero no me funciona en 2003 ya lo hice y salio a la perfeccion, por favor necesita su colaboracion, agradezco me responda a mi mail informandome como se hace.

  407. 492 Jcarlos Castillejos mayo 2, 2010 en 7:10 pm

    Perfecto!
    Solo copie y pegue en la hoja que la necesitaba,
    mil Gracias por el aporte

  408. 493 JCSoluciones mayo 6, 2010 en 1:54 pm

    Tengo que dejar un comentario, porque me siento muy satisfecho con el resultado de tu guía y tu macro, es simplemente perfecta, es lo que yo buscaba y es fácil de aplicar y utilizar, te sacaste un 10, FELICIDADES, y gracias por no guardar tus conocimientos, y compartirlos.

  409. 494 Nicolás mayo 7, 2010 en 10:28 am

    Muchísimas pero muchísimas gracias! anduve buscando por toda la web y es la mejor explicada! además pude modificar tranquilamente la macro por mi cuenta para poder cambiar ciertas cosas, por ejemplo, para el caso de que haya centavos que los diga, y si el numero es redondo, que no lo haga. Acá les paso el código de esa parte si le interesa a alguien:

    La anteúltima línea la reemplazan por:

    PesosMN = “SON PESOS: ” & PesosMN & IIf(tyCantidad > 1, “”, “”) & IIf(lyCentavos > 0, (” con ” & Format(Str(lyCentavos), “00″)) & ” ” & “centavos”, ” “)

    saludos y gracias de nuevo!

  410. 495 Pablo Garcia mayo 12, 2010 en 3:28 pm

    Mil gracias, muy bien hecho!!

  411. 496 LAU mayo 13, 2010 en 11:34 am

    Hola muchas gracias, me sirvio de mucho y lo pude utilizar aun despues de cerrar excel y abrir un libro nuevo, gracias por todas las aportaciones.

  412. 497 jesus mayo 20, 2010 en 1:16 pm

    tenia que dejar un comentario felicidades explicas muy bine busque y eres le unico que da la respuesta muy bien saludos que estes bien dtb..

  413. 498 Oskar Xhaparro mayo 21, 2010 en 4:45 pm

    Gonzalo: Gracias Men por tu gran aporte de verdad me gusto mucho ya que yo hago muchos chekes en un archivo que tengo donde imprimo las polizas de chekes y los mismos chekes asi ke me sirvio mucho para la leyenda en letra de la cantidad asi ke muchisimas gracias por tu aporte me sirvio un monton
    un saludo y siguele hechando muchas ganas
    Atte chaparro

  414. 499 Oscar mayo 22, 2010 en 1:27 pm

    Muchas gracias

  415. 500 Alfredo Márquez M. mayo 26, 2010 en 2:20 pm

    Recibe un saludo, gracias es de gran ayuda al trabajo diario.

  416. 501 Oscar VG mayo 27, 2010 en 12:37 pm

    La función esta muy buena, a pesar de que he leido toda la página y hecho varias propuestas de cambio no encontre alguna para que funcionara en una factura como lo usamos en Colombia, por ejemplo:

    Subtotal 1.917.660
    iva 16% 306.827 (se redondeo al proximo entero)
    Total 2.224.486

    SON: DOS MILLONES DOSCIENTOS VEINTICUATRO MIL CUATROCIENTOS OCHENTA Y SEIS PESOS M/C.

    ¿Es posible que alguien me ayude a adptarla?

    Gracias a quienes saben y comparten conociemientos.
    oscar vidal

  417. 503 uliysses mayo 30, 2010 en 12:58 pm

    haaa. super. gracias. muy bien explicado. me has ahorrado unas horas de trabajo. jaja

  418. 504 Alejandro Lozao mayo 30, 2010 en 3:38 pm

    Muchas Gracias por el aporte!!!!! me ahorrase muchos erroes en mis facturas

    Saludos

  419. 505 Mario mayo 31, 2010 en 1:28 am

    Holas gracias por que esto me h ayudado un monto.

    No tengo ni la menor idea de como programar algo, pero seguí las indicaciones al pie de la letra y me fucniono solo que debo tener como resultado “SON: Un Mil Trecientos Veintitres y 13/100 Nuevos Soles”

    Alguien me puede facilitar el codigo completo?

    desde ya mil gracias!!!

  420. 506 Belisario mayo 31, 2010 en 11:40 am

    Un Excelente aporte, gracias por compartir muchos no sabemos de programar y esas cosas, me funciono a la primera y no medio dificultades.

  421. 507 Erik junio 1, 2010 en 5:20 pm

    Muy buena macro

  422. 508 Amurabador junio 2, 2010 en 1:41 pm

    Sencillamente un gran aporte, no solo por lo que representa la macro misma, sino por la sencillez con la que explicas la forma de adicionarlo al Editor de Visual Basic

    Gracias a nombre de todos aquellos que han utilizado tu aporte y no han tenido el tiempo de agradecertelo

  423. 509 victor hugo garcia junio 4, 2010 en 12:19 pm

    todo esta bien pero si quiero hacer esto.

    36.562 (son: treinta y seis metros quinientos secenta y dos decimetros cubicos ) notese el punto

  424. 510 Xiqui junio 7, 2010 en 5:08 pm

    Excelente, muchas gracias!

  425. 511 jose junio 9, 2010 en 9:59 pm

    hola..
    es que yo hice todo lo que lei pero pra guardarlo no e podido, nose como habilitar contenidome sale mchos errores .
    ayudenme porfavor lo necesito urgente
    gracias compañeros

  426. 512 ADDY junio 12, 2010 en 7:10 pm

    Hola, estuve leyendo la pagina y me parece muy interesante, hice lo mencionado anteriormente y si funciona, pero lo que estoy buscando es poner los promedios de calificaciones con dos decimales a un lado de la celda con el numero.
    Es decir, si el promedio da 6.50 en la celda siguiente diga seis punto cincuenta. ¿Se puede? ¿cómo hacerlo? De verdad agradecería su ayuda.

  427. 513 Marisol junio 15, 2010 en 3:01 pm

    Excelente me funciono a la perfección =) 1000 gracias

  428. 514 JUAN junio 18, 2010 en 6:50 pm

    SI ME CUERDO DE LA NIÑA Q INVENTO LA PALABRA “PALITROCHE” Y DEL CUENTO

  429. 515 Jose Luis junio 19, 2010 en 6:17 pm

    Hola saludos desde Ecuador….. llevo casi 4 horas buscando una macros para asentar promedios de números a letras (estos van de 0 a 10, con un solo decimal) pero la mayoría son para recibos, facturas etc., es decir incluye pesos, soles, euros, dolares.

    Crees que me podrías ayudar con una macro sencilla (para ti obvio) en la que si pongo 8,9 me arroje OCHO, NUEVE o si pongo 10 salga DIEZ, CERO.

    Tengo varios cursos que van desde 20 hasta 50 alumnos, entonces imagínate la cantidad de tiempo que pierdo escribiendo promedios.

    Desde ya quedo muy agradecido.

  430. 518 jose cabanas junio 20, 2010 en 11:08 pm

    Hola, que tal esta basante buena tu función, solo tengo tres observaciones que considero la harian mejor:
    1.- cuando no haya cantidad escrita, que te marque solo un guión o que no imprima nada, ya que si lo haces te aparece pesos…
    2.- cuando el número escrito sea = a cero, que marque “cero pesos..”.
    3.- cuando las cantidades son iguales un millón o mayores debe escribir “un millón DE pesos…”, ya que solo escribe “un millón pesos…”

    Espero y me puedas compartir tu función con las observaciones.

  431. 519 Aglae junio 21, 2010 en 1:38 pm

    como puedo utilizar la funcion en dos columnas diferentes; el detalle es que una columna la utilizo en pesos y la otra en dolares, como puedo hacer para que obedezca a las dos incidaciones en una misma hoja
    ???

  432. 520 alexander junio 21, 2010 en 3:01 pm

    mil gracias de mucha ayuda.

    Hay forma que los centavos queden como.

    POR ejemplo
    con treita y tres centavos y no 33/100.

    De nuevo mil gracias me sirvio mucho.

    te gradeceria me puedas responder a mi correo.

  433. 521 ELISEO junio 22, 2010 en 9:08 am

    Muy bueno me sirvio ya que estuve buscando como cambiar los numeroa en texto para una factura que estoy realzando, gracias. TENGO UN DETALLITO QUE YO SOY DE BOLIVIA Y LA MONEDA AQUI ES EN BOIVIANOS Y QUERIA SABER COMO TENDRIA QUE HACER PARA QUE SALGA POR EJEMPLO: 130,60 Bs.- SON:CIENTO TREINTA BOLIVIANOS 60/100, CRACIAS DE ANTEMANO

  434. 522 Alfonso Gama junio 23, 2010 en 4:32 pm

    Te agradezco me sirve mucho esta funcion .

    Gracias

  435. 523 PPPP junio 24, 2010 en 12:22 pm

    GRACIAS MUY BUENO Y FUNCIONA

  436. 524 ABY junio 24, 2010 en 4:32 pm

    Muchas gracias, me sirvio mucho, de haber sabido que no tardaria en encontrarlo lo hubiera buscado antes. Tenia tiempo queriendo buscar el dato.

  437. 525 zaire junio 24, 2010 en 10:06 pm

    OYE YA SE QUE TE LO DIJERON MUCHOS, PERO MUCHISIMAS GRACIASS!!
    QUE CHIDO POR CONMPARTIR!!!!
    SUERTE
    Y MIS MAS BUENOS DESEOS!!!!!chao

  438. 526 isaac junio 25, 2010 en 10:54 am

    Muchas Gracias Ya hacia tiempo que queria una formula asi, siempre se les pasa eso a los de microsoft jeje lo unico que no necesitaba eran el SON Y LOS PARENTESIS

    GRACIAS

  439. 527 JuanCarlos junio 25, 2010 en 6:15 pm

    Bien hecho. El uso correcto de casos (CASE). La mayoría de los aficionados lo hacen con IF. ¿Se puede integrar a la macro que crea el libro nuevo en blanco? El objetivo: que todos los libros tengan la función al iniciar. Gracias.

  440. 528 Abraham Leal junio 29, 2010 en 1:22 pm

    muchas gracias por el aporte…

  441. 529 OSCAR ANTONIO junio 29, 2010 en 8:21 pm

    Buenas noches, gracias por su colaboracion. Hice el ejercicio y funciono. Sinembargo pido su ayuda con el fin de dar la instruccion y el formato me quede para que las cifras se lean asi:
    $3.000.000 SON: (TRES MILLONES PESOS 00/100 M.N.) Y NO SON: ( DOCE PESOS 00/100 M.N.Nuevamente mil gracias.
    Oscar

  442. 530 OSCAR ANTONIO junio 29, 2010 en 8:24 pm

    CORRIJO LA SOLICITUD
    Buenas noches, gracias por su colaboracion. Hice el ejercicio y funciono. Sinembargo pido su ayuda con el fin de dar la instruccion y el formato me quede para que las cifras se lean asi:
    $3.000.000 SON: (TRES MILLONES PESOS 00/100 M/CTE.) PUES ESTOY EN COLOMBIA Y NO SON: ( DOCE PESOS 00/100 M.N.) Nuevamente mil gracias.
    Oscar

  443. 531 LAURA junio 30, 2010 en 2:55 pm

    GRACIAS…..
    POR ESTA AYUDA…
    FUE DE MUCHA UTILIDAD

  444. 532 eduardo junio 30, 2010 en 7:24 pm

    GONZALO .-

    Como dicen en contaduria,infinitamente un mil gracias ; por tu aportacion al igual que los compañeros estuve viendo y viendo ejemplo ; pero el tuyo QUE BARBARO me saco de un gran apuro.
    FELICITACIONES por ser como es y que nunca cambie;saludos desde la hermosa republica mexicana.

  445. 533 humofl julio 1, 2010 en 2:34 pm

    Que te puedo decir, parece que ya dijeron todo pero mil gracias y sinceramente el Mejor.

  446. 534 David de Merida, Yucatan julio 1, 2010 en 8:47 pm

    Tu maestro…. tu……….BIEN….. MUY BIEN..

    MIL GRACIAS MI HERMANO Y SIGUE ASI.

  447. 535 Brenda julio 1, 2010 en 8:52 pm

    Sr.,

    Me sirvio mucho, tks.

  448. 536 Anónimo julio 3, 2010 en 1:24 am

    gracias por el paro me sirvio de mucho

  449. 537 RUBY STELLA CAÑAS julio 3, 2010 en 12:16 pm

    FELICITACIONES…..ME SIRVIO MUCHO..

    PERO AHORA TENGO 2 INQUIETUDES:

    - PARA MI EJEMPLO $257.000,65 QUE ME SALDA ASI: DOSCIENTOS CINCUENTA Y SIETE MIL PESOS CON 65/100 M.CTE.

    - Y EN UNAS NECESITO SON: ……. Y EN OTRAS NO LO NECESITO..

    QUE SE DEBE HACER…

    MIL GRACIAS PUES APRENDI ALGO NUEVO…… Y DE ANTICIPO OTRAS MUCHAS MIL GRACIAS POR AYUDARME CON LA SOLICITUD QUE TE PIDO…

  450. 538 gerardo julio 7, 2010 en 10:52 pm

    maestraso k bien .. muy bien.. me la pusiste muy facil eh felicidades y gracias por brindar tu conocimiento a los que se nos dificultan, encerio gracias un saludos desde chiapas..

  451. 539 Robert julio 9, 2010 en 12:13 pm

    Felicitaciones, muy bien ese procedimiento, lo encontré sin pensarlo y lo instalé excelente.

  452. 540 paty julio 14, 2010 en 1:43 pm

    EXCELENTE, TE FELICITO GRACIAS PERO MUCHAS GRACIAS POR TU APORTE ME AYUDASTE MUCHO

  453. 541 angelita julio 21, 2010 en 12:33 pm

    hola buenas tardes, muchas gracias por la macro. que tengas un bonito dia

  454. 542 MARTHA julio 21, 2010 en 6:07 pm

    GONZALO BUENAS TARDES CLARO QUE ME SIRVIO MUCHISIMAS GRACIAS.
    ESPERO COMPARTIRLO POR AQUI PARA ALGUIEN QUE ESTE INTERESADO.
    GRACIAS NUEVAMENTE….

  455. 543 raul julio 24, 2010 en 2:45 am

    Genial!! funciono!

  456. 544 ROGER julio 26, 2010 en 1:44 pm

    PANA MIL GRACIAS POR LA INFORMACION, EXCELENTE!!!

  457. 545 Gerardo julio 27, 2010 en 11:40 am

    Orale me parece excelente aporte y me funciono a la perfeccion, gracias!

  458. 546 ROSA MARIA HDZ. julio 27, 2010 en 2:19 pm

    POR FAVOR ME EXPLICAS QUE DEBO HACER PARA QUE FUNCIONE EN OFFICE 2007, SOLO ME FUNCIONA EN VERSIONES ANTERIORES

  459. 547 nigali julio 27, 2010 en 5:01 pm

    hola quien me puede explicar como puedo guardar esta macro para que sea parte de excel por que no lo se me pueden ayudar porfis

  460. 548 Claudio Espinoza julio 27, 2010 en 10:57 pm

    Gracias amigo es o único bien explicado que realmente funciona a la primera, gran aporte saludos desde Chile.

  461. 549 cristian julio 27, 2010 en 11:15 pm

    GONZALO_ GRACIAS POR EL APORTE ME PODES GUIAR LO COPIE, EN MACROS Y AL EJECUTARLO EN LA CELDA PARA PROBARLO, ME FIGURA ERRROR COMPILACION Y DE SINTAXIS EN LN 8 DONDE DICE CENTENAS, LA REVISÉ Y NO SE QUE COSA PUEDE SER…APARECE ALGO MAS EN EL CODIGO QUE EN LA PAGINA NO VEO.ME PONE EN ROJO ESTO:
    laDecenas = Array(“DIEZ”, “VEINTE”, “TREINTA”, “CUARENTA, “CINCUENTA”, “SESENTA”, “SETENTA”, “OCHENTA”, “NOVENTA”)..

    DESDE YA MUCHAS GRACIAS..

  462. 550 Paco Regand julio 29, 2010 en 1:32 pm

    Gracias ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
    Eres un master, este es el mejor codigo para hacer que los numeros se vean tambien en letras, que he visto en años, cuando necesites algo por favor no dudes en pedirmelo.

  463. 551 Jorge julio 29, 2010 en 6:21 pm

    Hola, primero que todo quiero agradecerte muchisimo este aporte. Estoy ayudando a un amigo a modernizar su negocio y estaba haciendo una planilla excel para hacer las facturas, estaba todo listo, pero faltaba esto de escribir numeros con letras automaticamente. He corregido lo que necesitaba cambiar para que quedara como se hace en Chile.
    Tengo un pequeo problema, en Chile no se usan decimales pues no hay centavos, por lo tanto se aproxima cuando el decimal es mayor que 5, hasta ahi todo bien, excel me aproxima, pero tu codigo lee el numero sin aproximarlo, por ej. 1492,7 lo escribe como mil cuatroscientos noventaidos y si desactivo el uso de decimales en excel el numero queda asi 1493, pero la funcion sigue leyendolo como noventaidos. Sabes que tengo que hacer para q la funcion lea el numero final proyectado????
    Si no puede ayudarme no hay problema, con lo que has hecho ya me has ayudado muchisimo

    Un abrazo grande desde Chile

    Jorge

    • 552 Jorge julio 29, 2010 en 6:51 pm

      Me respondo solo, era necesario utilizar la funcion REDONDEAR, he solucionado todo y ahora puede llenar las facturas del negocio de mi amigo de manera mucho mas simple.

      Un abrazo lleno de agradecimiento…

      Jorge

  464. 553 MAR julio 30, 2010 en 9:02 pm

    HOLA! MUCHISIMAS GRACIAS, TU INFORMACION FUE DE GRAN UTILIDAD. NUEVAMENTE GRACIAS POR COMPARTIR TUS CONOCIMIENTOS CON NOSOTROS.

  465. 554 ALEJANDRA agosto 3, 2010 en 3:18 am

    GRACIAS!!! ESTA SUPER BIEN EXPLICADO, MAS CLARO Y SENCILLO NO PODIA ESTAR. TE LO AGRADEZCO DE CORAZON, ME SACASTE DE UN SUPER GRAN APURO.

    ALEJANDRA.

  466. 555 Mario agosto 3, 2010 en 10:07 am

    Muchas gracias, definitivamente el mejor post, me canse de buscar informacion de como hacerlo, ha sido todo un exito, muchas gracias

  467. 556 DANIEL agosto 3, 2010 en 3:53 pm

    Excelente ahora podre hacer las cosas que quiero

    se le agradece por su tutorial.

  468. 557 wintershade agosto 4, 2010 en 9:50 pm

    OOOOO meeennn!!!
    que chulada de macro acabo de obtener de aqui
    desde cuando que quiero hacer algo por el estilo en la compu de mi trabajo, pero como en ahi las macros no funcionan, me la estaba rifando con formulitas, esto es mucho mejor, grax

  469. 558 JOrge agosto 6, 2010 en 6:06 pm

    Hola,
    No tendrías una para convertir porcentajes a letras?

  470. 559 ALICIA agosto 9, 2010 en 1:48 pm

    GRACIAS POR TU APORTE}}

  471. 560 David Sanchez agosto 9, 2010 en 6:11 pm

    MUUY BIEN LA FORMULA, MUY EFECTIVA!!!

    YO HABIA ESTADO PREGUNTANDO ENTRE VARIOS PROFESORES DE COMPUTO Y NINGUNO ME SABIA DAR RESPUESTA CONCRETA :p

    MUY BUEN APORTE.

    MUCHAS GRACIAS!!!!

  472. 561 Silvia agosto 11, 2010 en 12:11 am

    GENIIAAALLL !!!!!!!!!!!!!!
    Muchisimas gracias muy buen aporte, mejor explicado no pudo haber estado…………. !!!!!!!

  473. 563 Luis Alfredo agosto 11, 2010 en 5:15 pm

    Excelente aporte Gonzalo, además, muy didáctico.

    Saludos,
    Luis Alfredo

    P.S. Incluso me hiciste ganar una apuesta.

  474. 565 Fabian Sandoval agosto 12, 2010 en 10:07 pm

    Muy bueno, hice ciertas modificaciones en pabras como dolares “CON ” Y “CENTAVOS” quedo muy bien para mi pais ECUADOR ES MUY BUENO ESTE MACRO GRACIA!!!

  475. 566 Stevens Tabares agosto 13, 2010 en 10:55 am

    Agradecido de tu consejo y archivo para utilizar en el visual para excel, le cambie unas cosas, que me quede sin centavos y como es para la factura que no me quede con la palabra SON: y los parentecis y sin centavos, obvio que lo hice a lo “bruto” quitando y colocando hasta que funcionó. Muchas gracias

  476. 567 Violeta agosto 17, 2010 en 8:45 pm

    Muchisimas Gracias!!! ☺

  477. 568 RUBEN GS agosto 18, 2010 en 2:20 pm

    Hola gchable

    me puedes ayudar que en la hoja de excel me aparesca la hora pero sabes si ahi un metodo para qeu este cambiando cada minuto o segundo sin necesida de ver el reloj de la computadora

    a y po rcierto me ayudo mucho ese macro de comvertir numero a letra felicidades

  478. 569 RUBEN GS agosto 18, 2010 en 2:23 pm

    oye se em olvidaba me puedes ayudar si conoces algo de adobe acrobat ya que tquiero quitarle la clabe a un libro pero no se como puedo hacerlo pues el libro lo baje de internet y trae contrasena para poser copiarlo o omidicarlo

  479. 571 Leidy agosto 18, 2010 en 6:55 pm

    Excelente solucion de codigo, gracias!

  480. 572 Carlos Meza agosto 20, 2010 en 7:22 pm

    Hola esta muy bien explicada tu formula pero la verdad no se como utilizarla en Excel 2007 no encuentro la funcion de visual basic me podrias explicar un poco mas a fondo te lo voy a agradecer muchisimo

  481. 574 Miguel agosto 23, 2010 en 6:13 pm

    Esta excelentemente bien explicacion y funcion a la perfeccion, es la primera vez que elaboro una macro y me quedo siguiendo los ejemplos. te felicito de verdad eres un experto.

  482. 575 Mariana agosto 24, 2010 en 7:07 pm

    Excelente aporte!!! muy práctico y fácil, que bueno es compartir el conocimiento :D

    Muchas gracias!

  483. 576 Xo agosto 26, 2010 en 11:07 am

    Por años busque esta funcion, gracias por compartirla y ademas explicada de forma sencilla

  484. 577 Joel agosto 27, 2010 en 12:23 am

    En verdad que es de admirar a personas como tú que no son egoístas.

    Uso Excel 2004 para Mac y me salía un error que solucioné borrando la línea 4, (no sé si después tenga alguna mala consecuencia).

    Por mientras todo funciona de maravilla.

    Muchas gracias por tu aporte.

  485. 578 Ivan Gallego agosto 27, 2010 en 4:05 pm

    Mil gracias por tu aporte, lo habia buscado como loco, se encuentran muchas cosas pero muy complicadas, tengo una pregunta, es que con libros nuevos me funciona muy bien, pero cuando pongo la formula en libros que ya tenia, no me funciona, hay que hacer algo en especial?

    Mil gracias

  486. 580 Crisss septiembre 3, 2010 en 9:48 am

    Definitivamente no lo puedo guardar pero como solo lo ocupo el finde mes pues en un dia hago todo, lo imprimo y ya esta, para el siguiente mes vuelvo a hacer el mismo procedimiento.

    Tengo windows 2007

    MUCHISIMAS GRACIAS!!!

  487. 581 JORGE ANTONIO septiembre 8, 2010 en 5:45 pm

    GRACIAS POR LA FÓRMULA
    DE VERDAD ES DE GRAN UTILIDAD
    YA ME HACIA FALTA JAJAJA
    ASI NO TENGO QUE ESCRIBIR EN MIS
    FACTURAS LETRA POR LETRA LAS CANTIDADES
    GRACIAS A LA PERSONA QUE PROGRAMO LA FORMULA

    SALUDOS A TODOS
    DE VERDAD QUE SE APRENDE COSA NUEVA TODOS LOS DIAS.

  488. 582 Vladimir septiembre 9, 2010 en 4:55 pm

    Hola buenas tardes de verdad agredecido con esta funcion muy util para nosotros los contadores… de verdad excelente explicacion y todo un saludo desde venezuela.. pero tengo una duda como le hago para que me quede siempre guardado o es q no supe hacerlo xq al abrir o cerrar excel debe hacer el mismo procedimiento o como??? de verdad disculpa mi ignoracion en programacion….si me puedes ayudar te lo agradeceria

    • 583 gchable septiembre 9, 2010 en 5:04 pm

      Hola Vladimir, yo recomendaria que por cada libro de trabajo insertes la macro, para que cuando abras el libro encualquier pc tenga ahi la macro. Saludos El 09/09/2010 03:55 p.m.,

  489. 584 Liliana septiembre 10, 2010 en 3:05 pm

    Buenas tardes….Alguien me podría ayudar…por favor? tengo el problema de que me aparece #¿nombre?…Si me pueden ayudar mi correo es l.ledesma@hotmail.com…Gracias

  490. 586 tzyulong septiembre 10, 2010 en 8:57 pm

    Muchas gracias x la explicacion, habia buscado esta info desde hace mucho, y solo tu explicas como debe ser.

    Mil gracias

  491. 587 Liliana septiembre 11, 2010 en 1:02 pm

    gchable Gracias por tu contestación y si me puedes ayudar como puedo activar los macros (es windows vista 2007) y como lo guardo porque a veces me aparece la cantidad con letra y cuando lo guardo y lo vuelvo abrir me aparece #####…Gracias…

  492. 589 Anónimo septiembre 13, 2010 en 5:25 pm

    EXELENTE GRACIAS

  493. 590 David septiembre 13, 2010 en 7:37 pm

    Amigo muchas gracias por la información. Esta muy claro como hacerlo. Me costo un poco de trabajo entender lo que tenia que hacer porque tengo office 2007, pero me quedo claro con la explicación que diste para habilitar todas las macros.

    Gracias por tu página.

    Saludos.

  494. 591 victoriano septiembre 16, 2010 en 3:44 pm

    boy a tratrar de insertar estos macros de convercion a mi hoja de factueracion hojala y me salga vien, y de tener algun problema en la configuracion de esta convercion me comunicare de inmediato con ustedes para que me aukxilien.

    • 592 victoriano septiembre 16, 2010 en 7:49 pm

      GONZALO FELICIDADES Y GRACIAS POR LA INFORMACION DE ESTA CONVERCION NUMERICA A TEXTO – VOY INTENTAR QUE QUEDE GUARDADO EN EL LIBRO Y ESTE DISPONIBLE AL ABRIRLO

      gRACIAS Y FELICIDADES

      • 593 victoriano septiembre 17, 2010 en 8:08 pm

        SALUDOS GONZALO TODO FUNCIONA PERFECTO AL INSERTARLO EN LA HOJA DE CALCULO

        PERO NO PUEDO GUARDARLO EN EL LIBRO .- CIERRO EL LLIBRO Y AL VOLVERLO ABRIR YA NO HACE LA FUNCION TENGO QUE INSERTAR DE NUEVO EL CODIGO.

        ME PUEDES AYUDAR PARA LOGRAR GUARDARLO Y ESTE DISPONIBLE CADA QUE SE HABRA EL LIBRO O LA HOJA DE TRABAJO

        EL WINDOWS ES XP Y EL EXCELL ES 2007 POR FAVOR AUXILIAME

        MI CORREO ES victor_herrera@hotmail.com

        MUCHO TE AGRADECERE ESTA ORIENTACION

        GRACIAS

  495. 596 joaquin septiembre 19, 2010 en 6:52 pm

    muy claro y conciso lo unico que yo agregaria en la parte de las intruccion es como guardarlo y activarlo para que cuando cierres el libro no tengas que repetir todo el proceso de nuevo aunque por alla lo explico una persona,, muy amable con compartir este apunte, saludos desde merida yucatan..

  496. 597 victoriano septiembre 20, 2010 en 12:04 am

    GONZALO.- TODO MUY PERFECTO, EDITAR EL CODIGO Y GRABARLO PARA SU PRESENCIA CONSTANTE SIN TENER QUE CARGAR CADA QUE EL LIBRO SE HABRA. FELICIDADES POR TU TALENTO INGENIOSO LLENO DE CONOCIMIENTOS.

    NAMAS TE PIDO UN ULTIMO FAVOR

    DIME QUE PONGO AL PARA PONER M.N. FUERA DEL PARENTESIS DEL TEXTO.

    O SEA QUE SE REFLEJE HACI SON:(CINCUENTA MIL PESOS 00/100) M.N.

    • 598 gchable septiembre 20, 2010 en 9:44 am

      Victor, en la penultima linea del codigo, donde esta “/100 M.N.)” solo saca el M.N. fuera del parentesis para quedar asi “/100) M.N.” El 19/09/2010 11:04 p.m.,

  497. 599 ARISTEO GARCIA septiembre 20, 2010 en 2:08 am

    después de tanto buscar, encontrar varias páginas sobre el tema, intentar pasar el código fuente a mi hoja de excell, etc. por fin me funcionó.

    tuve un poco de problema porque al cerrar la pagina de excell y al volver a abrirla ya no funcionaba, pero el comentario sobre agregarle XLAM LO CORRIGIÓ.

    MUUUUUUUUUUUUUUUUUUUUUUUUUUUUCHAS GRACIAAAAAAASSSSSS!!!!!!!!!

  498. 600 Francisco Javier septiembre 20, 2010 en 7:48 am

    Hola! mil gracias por compartir sus experiencias, tengo una pregunta: yo realizo el machote de mi factura en excel y la imprimo antes para verificar que la impresion salga en el lugar indicado, podria ayudarme a realizar una macro o un programa donde todo esto ya este listo y me ahorre tiempo! saludos y mil gracias!

  499. 602 joaquin septiembre 20, 2010 en 1:54 pm

    tengo el mismo dilema gchable, ya hice la plantilla con el formato y los encabezados para llenar pero al momento de imprimir me sale completo el formato cabe señalar que tengo mis facturas preimpresas y quiero que solo los datos como: cliente fecha direccion detalle de productos etc, se impriman pero que me aparezca el formato de la factura en la pantalla.. por la atencion gracias..

  500. 604 victoriano septiembre 26, 2010 en 6:52 pm

    GONZALO ME PRODRIAS AYUDAR ORIENTANDOME EN LA HOJA DE CALCULO DE EXEL MUCHO TE LO AGRADECERIA.
    NESECITO FORMAR UN DIRECTORIO DE 50 CLIENTES EN EL QUE CADA CLIENTE CONSTA DE:-
    1.- NOMBRE Y DOS APEIDOS
    2.- DOMICLIO
    3.- COLONIA
    4.- CIUDAD
    5.- TELEFONO
    6.- CODIGO POSTAL
    7.- REGISTRO FEDERAL DE CAUSANTES.
    Y DE ESTE DIRECTORIO CON UN CODIGO DE IDENTIFICACION PARA CADA CLIENTE CITARLOS EN EL FORMATO DE LA FACTURA Y QUE APARESCAN EN ELLA CON SUS 7 DATOS SIN TENER QUE ESCRIVIRLOS CADA QUE SE ELABORE LA FACTURA SUS 7 DATOS.-

  501. 606 joaquin septiembre 27, 2010 en 3:24 pm

    contador, igual requiero una gestion de clientes, es similar a lo que ocupa victoriano, en mi caso seria, nombre/razon social,direccion1, direccion2 por ultimo el rfc, considerando que en la hoja 1 tengo la plantilla para llenar la factura en la hoja 2 tengo capturado los clientes en 4 lineas por cliente como puedo vincularlo al machote de la hoja 1 para no tener que teclear los datos de cliente, ya hice varias pruebas y no le encuentro una forma practica, gracias por tu ayuda de antemano

    • 607 gchable septiembre 27, 2010 en 3:37 pm

      Joaquin, no recomiendo excel como base de datos de clientes o algún otro tipo de datos, si tienes muchos clientes usa algun soft para ese proposito.  Aunque puedes hacerlo pero ten cuidado con los dedazos. Saludos El 27/09/2010 02:24 p.m.,

  502. 608 senig septiembre 29, 2010 en 9:28 am

    gracias por el aporte muy muy bueno felicidades ya que nos has sacado de muchos pauros a mucho saludos amigo

  503. 609 Jorge diaz octubre 7, 2010 en 1:05 pm

    Excelente tu eplicacion
    Gracias por el aporte

  504. 610 Geovanny octubre 7, 2010 en 2:55 pm

    Hola
    este contenido esta bueno felicidades

    gracias

  505. 611 Fredy octubre 8, 2010 en 4:15 pm

    Perfecto y funcionando Gracias . . . . .

  506. 612 VICTOR octubre 11, 2010 en 6:27 pm

    gracias contador, me sirvio muchisimo… le mando muchas bendiciones

  507. 613 Oustivo octubre 12, 2010 en 12:49 pm

    Gracias por tu ayuda.

  508. 614 VICTOR octubre 13, 2010 en 10:00 pm

    gRACIAS AMIGO LA VERDAD QUE MUY UTIL Y PRACTICA TODA LA INFORMACION QUE NOS BRINDASTE POR ESTE MEDIO ME SIRVIO MUCHISIMO, TE ESTOY AGRADECIDO POR ESTO.

    MUCHAS GRACIAS.

  509. 615 Anónimo octubre 14, 2010 en 12:55 pm

    muchas gracias….

  510. 616 Viviana Gaete octubre 19, 2010 en 10:08 am

    Hola, me encanto tu pagina, segui los pasos y todo salio bien… solo quisiera saber… cuando aplicas el codigo en un libro y quieres usarlo en las paginas del libro no hay problema… hay alguna forma de que al abrir un libro nuevo para trabajar no tengas que hacer nuevamente el proceso?????
    Agradecida desde ya por tu respuesta o la respuesta de alguien que al usarlo haya resuelto esto… te saluda
    Viviana Gaete

    • 617 gchable octubre 19, 2010 en 10:18 am

      Viviana, debes agregar el codigo a tus libros, te explico, si pones el codigo fuera del libro, entonces cuando mandes el libro por correo o lo usas en otra pc no funcionara, ya que como comprenderas el codigo no esta en el libro. El 19/10/2010 09:08 a.m.,

  511. 618 JOSE HERNANDEZ CANCUN octubre 21, 2010 en 5:51 pm

    HOLA MI BUEN ESTIMADO COLABORADOR, AGRADEZCO LA AYUDA, GRACIAS POR COMPARTIR TUS CONOCIMIENTOS ESTO ME AYUDO DE UNA PREGUNTA QUE ME HICIERON MIS ALUMNAS DE CONTABILIDAD, ME SIENTO CONTENTO POR QUE NI SUS MAESTROS DE EXCEL LAS AYUDAN, GRACIAS DE NUEVO Y SIGUE ASI, DIOS TE BENDIGA…

  512. 619 AMY octubre 21, 2010 en 6:19 pm

    alfin he podido terminar al 100% una consulta, que por falta de el importe en letras no habia podido terminar…

    muchas grascias un gran aporte

  513. 620 Victor octubre 22, 2010 en 10:15 am

    Gonzalo, disculpa por las palabras que te voy a escribir. Hay personas especiales en este mundo, diferentes a las demas, y una de esas pocas eres tu. Gracias por compartir lo que sabes. Otra cosa, yo sin saber nada de macros, con la excelente explicacion que das, no se como pero pude hacer que el resultado salga algo como esto: 21.32 igual a “Son: veintiuno y 32/100 nuevos soles” y asi con cualquier candtidad, Nuevamene, Muchas Gracias.

  514. 622 Guillermo octubre 27, 2010 en 10:09 pm

    Oye amigo de conta a conta, mis respetos te la volaste con el codigo, he tratado de ensamblarlo como en c++ pero si me es un poco complicado sobretodo por el tiempo, muchisimas gracias.

  515. 623 Mónic octubre 28, 2010 en 1:18 pm

    Mil gracias, me sirvio muchisimo, creo que gracias a ti cualquiera puede hacerlo sin necesidad de saber nada de programación, de nuevo mil gracias n.n

  516. 624 Chema octubre 28, 2010 en 10:51 pm

    Excelente Formula, la mejor que e visto, yo tenia una para oficce 2003 y esta esta mucho mejor la puse en excel 2007, Saludos

  517. 625 Gonzalo noviembre 2, 2010 en 9:00 pm

    Has salvado mi calificación tocayo

  518. 626 Aldo Valle noviembre 2, 2010 en 10:17 pm

    Muchas gracias por tu codigo, me hiciste ganar un millon de dolares por el. :D

  519. 628 Carlos noviembre 3, 2010 en 4:22 pm

    Muchas gracias por tu excelente explicación, te felicito.

    Gracias y saludos..

  520. 629 EZEQUIEL SANCHEZ noviembre 4, 2010 en 9:52 pm

    Jovenes aprobechando esta gran ayuda del autor, me ha servido de mucho gracias por tu gran aporte.
    saludos

  521. 630 MIGUEL noviembre 6, 2010 en 2:11 pm

    BUENA APORTE Y DE MUCHO UTILIDAD, GRACIAS

  522. 631 Ruben noviembre 9, 2010 en 9:23 pm

    Hola estimado, en primer lugar me parece sorprendente que personas como usted compartan lo que saben de forma humilde y lo felicito por eso, mis mayores respeto para usted, ahora mi consulta es la siguiente, yo necesito una formula o codigo similar al que acabo de ver de usted, pero lo que necesito es lo siguiente:
    Ejem: 6,3 que diga “Seis coma tres”, estube modificando el codigo pero no doy con lo que necesito, estaria muy agradecido de su ayuda, gracias

  523. 632 Said noviembre 11, 2010 en 10:56 am

    Excelente código, si necesitas algo de código sobre manejo de excel y acces me cuentas.

  524. 633 Edward L. V. noviembre 14, 2010 en 11:06 pm

    gracias por tu gran ayuda…

    soy de PERU, POR FAVOR ME GUSTARIA QUE ME DES UNA AYUDITA MAS, NOSOTROS FACTURAMOS EN NUESTRA MONEDA NACIONAL QUE ES EL NUEVO SOL Y TAMBIEN EN DOLARES AMERICANOS…COMO PODRIA HACER PARA FACTURAR CON LOS DOS TIPOS DE MONEDA SIN ESTAR MODIFICANDO LA FORMULA

  525. 635 carlomon noviembre 22, 2010 en 1:10 pm

    Muy buen aporte gracias por su ayuda me resulto muy valiosa

  526. 636 Anónimo noviembre 22, 2010 en 3:52 pm

    Gonzalo mil gracias por tu ayuda…eres inmortal por que transmites tus conocimientos!!!

  527. 637 mary@aislinginc.com noviembre 23, 2010 en 9:59 pm

    HOLA,,,, MUCHAS GRACIAS, BUSQUE MUCHO Y DE TODAS LAS OPCIONES ESTA FUE LA MUCHO,, PERO MUCHO MEJOR,,, MIL GRACIAS, ME SACASTE DE UN GRAN APURO,,, BYE

  528. 638 Jorge noviembre 25, 2010 en 1:01 am

    Muchas gracias por el dato, lo adapté a una factura que estoy realizando, le quité los centavos y quedó perfecto, muchas gracias.

  529. 639 carlos noviembre 25, 2010 en 9:54 am

    Buena Compadrito:) se paso. Lo unico de todo esto es que no hace referencia al tipo de moneda usada en un pais determinado, ya que por lo menos en el mio, no coincide que aparezca al final del texto la expreción “M.N.” Y solo coloca decimales no redondea la cifra.

  530. 640 Bichusk790 noviembre 27, 2010 en 4:31 pm

    Buenas aporte, pero quisiera saber como agregar la palabra “DE” despues de millon o millones por ejemplo: 1000000, “UN MILLON DE PESOS”, y

  531. 641 Bichusk790 noviembre 27, 2010 en 4:35 pm

    Buen aporte, pero quisiera saber como agregar la palabra “DE” a millon por ejemplo: 1000000, “UN MILLON DE PESOS”, ya que al escribir esta cantidad solo aparece “UN MILLON PESOS”, y tambien en los millones “CATORCE MILLONES PESOS” espero me puedan ayudar ya que soy un novato en esto de excel y macros

  532. 642 erbin soto noviembre 30, 2010 en 5:27 pm

    aplicacion sencilla y funcional, me sirvio mucho ahora estoy buscando la opcion que no devuelva la moneda, solo el valor ejempo 32, treinta y dos y que no incluya la moneda

  533. 643 FRITZ diciembre 2, 2010 en 11:32 am

    hola Gonzalo sabes esta legal tu blog, bueno en fin tengo un problema, cuando entro al visual bassic, y luego: insertar/modulo, este esta bloquedo por lo k no puedo intertar el código, en fin no se si tienes alguan solucion para este problema. Gracias de ante mano.

  534. 644 Elva diciembre 3, 2010 en 5:19 pm

    Trato de crear macros en excel 2007 y no me sale coomo puedo hacerlo???

  535. 645 Margarita diciembre 6, 2010 en 1:14 pm

    muy buena la pagina me funcionó super rapido a diferencia de las demas….. q no entendia nada.. pero lo que necesito es que me salga en soles por ejemplo.
    Ochenta y seis con 40/100 nuevos soles.

    Agradeceria me ayude en eso pues lo necesito urgente ;)

  536. 646 Gerardo diciembre 6, 2010 en 9:46 pm

    Mil gracias es súper fácil así como lo pones.

  537. 647 cecik_87@hotmail.com diciembre 10, 2010 en 11:52 am

    GRACIAS!!! DE MUCHA AYUDA

  538. 648 Anónimo diciembre 11, 2010 en 12:21 pm

    gracias me resulto de lo lindo

    patricio

  539. 649 Anónimo diciembre 14, 2010 en 1:38 pm

    Excelente post!! Sin dudas el único que explica bien esta función!! Te felicito y agradezco mucho!!
    Andrés.

  540. 650 leo diciembre 15, 2010 en 7:20 am

    esta es la mejor respuesta que e encontrado gracias

  541. 651 Kathy diciembre 15, 2010 en 2:14 pm

    Muchas gracias funciona muy bien y es de gran ayuda nois facilia el trabajo

  542. 652 Kathy diciembre 15, 2010 en 2:18 pm

    GRACIAS ES DE MUCHA AUDA, FUNCIONA SUPER BIEN

  543. 653 luis diciembre 15, 2010 en 5:36 pm

    gracias por el aporte, me sirve muchisimo

  544. 654 efxona diciembre 15, 2010 en 9:05 pm

    Hola Amigos. buenas noches. yo utilicé esta funcion y me funciono a la perfeccion… y eso que le hice unas modificaciones a quetzales, mi moneda… pero ahora quiero saber como le hago si quiero que cuando sean monedas exactas me salga por ejempo Q.1.00 un quetzal exacto. y cuando tenga centavos un quetzal con 00/100 me podras ayudar amigo..

  545. 656 nic diciembre 19, 2010 en 2:49 pm

    hola, muchas gracias tu ayuda me sirvio de mucho

  546. 657 carlos olmos diciembre 20, 2010 en 3:25 pm

    felicidades, fue un aporte muy grande, deberían de hacer dos ejemplos unos con la palabra “son” y otro sin la palabra “son”. ya que necesitamos de los dos, gracias……………………

  547. 658 jss diciembre 22, 2010 en 12:28 am

    Gracias me sirvio mucho tu comentario

  548. 659 fernando diciembre 22, 2010 en 12:11 pm

    muy buena informacion gracias!!! es de las mejores que eh visto por la explicacion detallada y sencilla!!!

  549. 660 PATY diciembre 27, 2010 en 4:11 pm

    Hay estoy tan emocionada que no lo puedo creeer busque por todos lados y ponen cosas que nunca entendi me sentia de lo mas ignorante y aqui gracias a el pude hacerlo tal como lo pone

  550. 661 Luis Alberto diciembre 28, 2010 en 3:20 pm

    Muchisimas Gracias Hermano, Dios te BEndiga siempre, y si me acuerdo, PALITROCHE, jajajaja

  551. 662 Marco diciembre 30, 2010 en 2:45 am

    Hola que tal, esta macro me ha ayudado bastante, ahora sera mas rapido la facturacion ya hice todas las modificaciones a mis libros gracias

  552. 663 raul enero 3, 2011 en 11:56 am

    para excel 2007 no hay una obcion me gustaria que me ayuden lo e usado para elxel 97-2003 ahora tengo ecxel 2007 por favor se los agradecere

  553. 665 ROY enero 7, 2011 en 6:12 pm

    que buen aporte hiciste me CAE, CHIDO

  554. 666 vstgo49@hotmail.com enero 8, 2011 en 12:40 pm

    hola buenos días, aquí les dejo el programa actualizado
    FUNCTION CONVIERTENUMLETRA(NUMERO)
    DIM TEXTO
    DIM MILLONES
    DIM MILES
    DIM CIENTOS
    DIM DECIMALES
    DIM CADENA
    DIM CADMILLONES
    DIM CADMILES
    DIM CADCIENTOS
    TEXTO = NUMERO
    TEXTO = FORMATNUMBER(TEXTO, 2)
    TEXTO = RIGHT(SPACE(14) & TEXTO, 14)
    MILLONES = MID(TEXTO, 1, 3)
    MILES = MID(TEXTO, 5, 3)
    CIENTOS = MID(TEXTO, 9, 3)
    DECIMALES = MID(TEXTO, 13, 2)
    CADMILLONES = CONVIERTECIFRA(MILLONES, 1)
    CADMILES = CONVIERTECIFRA(MILES, 1)
    CADCIENTOS = CONVIERTECIFRA(CIENTOS, 0)
    IF TRIM(CADMILLONES) > “” THEN
    IF TRIM(CADMILLONES) = “UN” THEN
    CADENA = CADMILLONES & ” MILLON”
    ELSE
    CADENA = CADMILLONES & ” MILLONES”
    END IF
    END IF
    IF TRIM(CADMILES) > “” THEN
    CADENA = CADENA & ” ” & CADMILES & ” MIL”
    END IF

    IF TRIM(CADMILES & CADCIENTOS) = “UN” THEN
    CADENA = CADENA & ” PESOS ” & DECIMALES & “/100″ & ” M.N. ”
    ELSE
    IF MILES & CIENTOS = “000000″ THEN
    CADENA = CADENA & ” ” & TRIM(CADCIENTOS) & ” DE PESOS ” & DECIMALES & “/100″ & ” M.N. ”
    ELSE
    CADENA = CADENA & ” ” & TRIM(CADCIENTOS) & ” PESOS ” & DECIMALES & “/100″ & ” M.N. ”
    END IF
    END IF
    CONVIERTENUMLETRA = TRIM(CADENA)
    END FUNCTION

    FUNCTION CONVIERTECIFRA(TEXTO, SW)
    DIM CENTENA
    DIM DECENA
    DIM UNIDAD
    DIM TXTCENTENA
    DIM TXTDECENA
    DIM TXTUNIDAD
    CENTENA = MID(TEXTO, 1, 1)
    DECENA = MID(TEXTO, 2, 1)
    UNIDAD = MID(TEXTO, 3, 1)
    SELECT CASE CENTENA
    CASE “1″
    TXTCENTENA = “CIEN”
    IF DECENA & UNIDAD “00″ THEN
    TXTCENTENA = “CIENTO”
    END IF
    CASE “2″
    TXTCENTENA = “DOSCIENTOS”
    CASE “3″
    TXTCENTENA = “TRESCIENTOS”
    CASE “4″
    TXTCENTENA = “CUATROCIENTOS”
    CASE “5″
    TXTCENTENA = “QUINIENTOS”
    CASE “6″
    TXTCENTENA = “SEISCIENTOS”
    CASE “7″
    TXTCENTENA = “SETECIENTOS”
    CASE “8″
    TXTCENTENA = “OCHOCIENTOS”
    CASE “9″
    TXTCENTENA = “NOVECIENTOS”
    END SELECT

    SELECT CASE DECENA
    CASE “1″
    TXTDECENA = “DIEZ”
    SELECT CASE UNIDAD
    CASE “1″
    TXTDECENA = “ONCE”
    CASE “2″
    TXTDECENA = “DOCE”
    CASE “3″
    TXTDECENA = “TRECE”
    CASE “4″
    TXTDECENA = “CATORCE”
    CASE “5″
    TXTDECENA = “QUINCE”
    CASE “6″
    TXTDECENA = “DIECISEIS”
    CASE “7″
    TXTDECENA = “DIECISIETE”
    CASE “8″
    TXTDECENA = “DIECIOCHO”
    CASE “9″
    TXTDECENA = “DIECINUEVE”
    END SELECT
    CASE “2″
    TXTDECENA = “VEINTE”
    IF UNIDAD “0″ THEN
    TXTDECENA = “VEINTI”
    END IF
    CASE “3″
    TXTDECENA = “TREINTA”
    IF UNIDAD “0″ THEN
    TXTDECENA = “TREINTA Y ”
    END IF
    CASE “4″
    TXTDECENA = “CUARENTA”
    IF UNIDAD “0″ THEN
    TXTDECENA = “CUARENTA Y ”
    END IF
    CASE “5″
    TXTDECENA = “CINCUENTA”
    IF UNIDAD “0″ THEN
    TXTDECENA = “CINCUENTA Y ”
    END IF
    CASE “6″
    TXTDECENA = “SESENTA”

    IF UNIDAD “0″ THEN
    TXTDECENA = “SESENTA Y ”
    END IF
    CASE “7″
    TXTDECENA = “SETENTA”
    IF UNIDAD “0″ THEN
    TXTDECENA = “SETENTA Y ”
    END IF
    CASE “8″
    TXTDECENA = “OCHENTA”
    IF UNIDAD “0″ THEN
    TXTDECENA = “OCHENTA Y ”
    END IF
    CASE “9″
    TXTDECENA = “NOVENTA”
    IF UNIDAD “0″ THEN
    TXTDECENA = “NOVENTA Y ”
    END IF
    END SELECT

    IF DECENA “1″ THEN
    SELECT CASE UNIDAD
    CASE “1″
    IF SW THEN
    TXTUNIDAD = “UN”
    ELSE
    TXTUNIDAD = “UN”
    END IF
    CASE “2″
    TXTUNIDAD = “DOS”
    CASE “3″
    TXTUNIDAD = “TRES”
    CASE “4″
    TXTUNIDAD = “CUATRO”
    CASE “5″
    TXTUNIDAD = “CINCO”
    CASE “6″
    TXTUNIDAD = “SEIS”
    CASE “7″
    TXTUNIDAD = “SIETE”
    CASE “8″
    TXTUNIDAD = “OCHO”
    CASE “9″
    TXTUNIDAD = “NUEVE”
    END SELECT
    END IF
    CONVIERTECIFRA = TXTCENTENA & ” ” & TXTDECENA & TXTUNIDAD
    END FUNCTION

    saludos cordiales

  555. 667 JOSE RAMON HERNANDEZ enero 9, 2011 en 9:47 pm

    GRACIAS EXCELENTE PANA ERES UN GENIO YO CONVERTI LA FORMULA A BOLIVARES PERO GRACIAS A TU PLANTILLA

    EXITOS GRACIAS

  556. 668 Ashek enero 10, 2011 en 3:48 pm

    Hey! pues yo tambien te agradezco el aporte, Saludos desde MExico DF

  557. 669 angie enero 11, 2011 en 1:28 pm

    gracias!!!te amo!!!! tarde siglos en hacer esto, lo busq x varios dias pero ninguno se explicaba bien como el tuyo…..
    felicidades!!!!!
    bsosss

  558. 670 Raul enero 11, 2011 en 3:23 pm

    Excelente, te agradesco el apoyo. Yo tengo una version que hice pero es muy larga. solo le voy a realizar unos pequeños ajustes. De nuevo Mil gracias

  559. 671 RAFAEL enero 12, 2011 en 2:14 pm

    Esta excelente, muchas gracias, me podrías decir como guardarlo en office 2007, ya que lo intento hacer pero al abrir otra hoja no me funciona la macro, (de favor paso a paso) y de las cantidades en las que que no pone “DE” por ejemplo “un millón de pesos ya habrás podido conseguir la corrección. Una vez más mil gracias, “si cerebro tenemos pero hay algunos que si saben utilizarlo muy bien”. ATTE. RAFAEL

  560. 672 monikcg01@yahoo.com.mx enero 13, 2011 en 11:58 am

    Excelente aplicación, mil gracias, Son unos genios!!!!.

  561. 673 EDWARD enero 13, 2011 en 2:02 pm

    EXELENTE, ACABO DE DESPEJAR UNA INQUIETUD DE MUCHO TIEMPO GRACIAS

  562. 675 KOOL enero 13, 2011 en 9:55 pm

    EXCELENTE APORTE, YA LO DIJERON TODO. GRACIAS. ES BUENO SABER DE PERSONAS QUE DAN SIN ESPERAR NADA A CAMBIO. QUE DIOS TE LLENE DE MUCHOS CONOCIMIENTOS Y SABIDURÍA.

  563. 676 sin barrero enero 21, 2011 en 11:09 am

    Muchas gracias me ayudo mucho ;)

  564. 678 Anónimo enero 21, 2011 en 4:15 pm

    Perfecto, solo hay que hacer una pequeña modificación a la penúltima parte si escribes 1.50 lo traducira a un pesos con 50/100

    PesosMN = “SON: (” & PesosMN & IIf(tyCantidad > 1, ” PESOS “, ” PESO “) & Fo

    correcto quedaría

    PesosMN = “SON: (” & PesosMN & IIf(tyCantidad >= 2, ” PESOS “, ” PESO “) & Fo

    Saludos

  565. 679 ANDY enero 24, 2011 en 12:59 pm

    THANK VERY MUCH 10 ARE MEJOR CONGRATULATIONS MY FRIEDSDS

  566. 680 OSCAR enero 24, 2011 en 5:56 pm

    EXCELENTE LA EXPLICACIÓN Y EL DESEMPEÑO DE LA MACRO.
    GRACIAS

  567. 681 Claudia Salinas enero 26, 2011 en 3:00 pm

    HOLA MUCHISIMAS GRACIAS ME SIRVIO DE MARAVILLA, ESTUVE INTENTANDO VARIAS OPOCIONES EN OTROS BLOGS Y NADAAAAAAAAA. SE LOS RECOMIENDO SIP FUNCIONA

  568. 682 Guillermo enero 26, 2011 en 6:07 pm

    Hola Gonzalo excelente tu aporte.
    que debo hacer cuando ingrese una cantidad sin decimales, se omita los centavos.

    Ej.1250.50(UN MIL DOCIENTOS CINCUENTA CORDOBAS CON 50/100)

    Pero si digito una cantidad en entero que salga de la siguiente manera.
    1200(UN MIL DOCIENTOS CORDOBAS NETOS).

    Saludos
    y gracias por tu aporte.

  569. 683 MARIBEL enero 27, 2011 en 6:26 pm

    UNA CONSULTA SABE QUE ESTOY INICIANDO UN TRABAJO Y SOY NOVATA EN EXCEL,DESEARIA QUE ME EXPLICARAS COMO PUEDO LOGRAR QUE SE ME ACUMULEN DATOS DE LA HOJA UNO A LA HOJA DOS SIN LOGRAR MODIFICACIONES Y SIN QUE SE MUEVAN LAS CELDAS

    EJEMPLO REALIZO REPORTES DIARIOS EN LAS CUALES PRESENTO GASTO E INGRESOS Y QUIERO QUE EN LA HOJA DOS SE ACUMULEN TODOS ESOS GASTOS E INGRESOS MENSUALMENTE Y DE LAS DIFERENTES FECHAS INTENTE HACERLO PERO NO ME LOGRA NADA.
    POR FAVOR SI MEPUDIERAS AYUDAR TE AGRADECERE MUCHO. PUEDES CONTACTRTE CONMIGO AMI CORREO Y A SI TE ENVIO UN FORMATO DE LO QUE QUIERO REALIZAR.

  570. 684 Anónimo enero 27, 2011 en 7:53 pm

    ME FUE DE GRAN AYUDA! GRACIAS

  571. 685 perrys37@Gmail.com enero 28, 2011 en 9:30 pm

    gacias Exelete Aporte Estube Probando varios pero tenian varios errores y este esta muy completo

    Gracias

    Saludos

  572. 686 Jhosantoni febrero 2, 2011 en 10:52 am

    Muy agradecido por tu macro, lo necesitava para una impresion de cheques, gracias

  573. 687 Ronel febrero 4, 2011 en 3:04 pm

    Saludos a todos, Agradezco por e aporte, les comento que lo he diseñado para trabajarlo en Quetzales y le he hecho unas modificaciones, si alguno lo necesita se lo mando en una hoja que excel, escribanme al correo ronelescobar@hotmail.com

    Las modificaciones fueron
    Ponerlo en Quetzales
    Quitarle el SON
    Quitarle los parentesis
    y Ponerle el CON
    Ejem. 50.34 CINCUENTA QUETZALES CON 34/100

  574. 688 Artemio febrero 5, 2011 en 2:26 pm

    excelente código,

    felicidades! ;)

  575. 689 carlos febrero 9, 2011 en 8:55 pm

    personas que ayudan …aciendo, lo correcto… y …haciedolo correcto…. son las que se admiran,, gracias por el aporte exlentisimo

  576. 690 @EANDREAZD febrero 11, 2011 en 1:09 am

    GRACIAS, LE HE HECHO ALGUNOS CAMBIOS PARA AJUSTARLA A MIS NECESIDADES, PERO ME HA SI INMENSAMENTE ÚTIL.

    AHORA TENGO OTRA PREGUNTA, QUIERO QUE SI MI CELDA ALCANZA UN VALOR SE EJECUTE UNA FORMULA EN LA CELDA SIGUIENTE, COMO SE PUEDE HACER ESO??

    SALUDOS!!

  577. 692 fer febrero 17, 2011 en 7:47 am

    Muchas gracias ha sido de gran ayuda y me ha ahorrado mucho tiempo en la preparacion de mis documentos

  578. 693 Antonio Mendez febrero 18, 2011 en 4:54 pm

    Es mucho mas fácil, crear una macro (marco1, por ejemplo) y detenerla.

    Luego en la pestaña “vista” / Macros / Ver Macros y le damos modificar macros, se abre al instante la macro q guardamos sin hacer nada, ahi le borramos lo q contiene y en su lugar pegamos el código…. y listo!!.

    Solo noté un pequeño error en la macro, cuando escribes: 20’000,000 te escribe: “SON: ( VEINTE MILLONES PESOS 00/100 M.N.)” debiendo ser: “SON:( VEINTE MILLONES DE PESOS 00/100 M.N.)”, y lo solucioné con una función condicional SI = 20,000,000 q escriba “SON: ( VEINTE MILLONES DE PESOS 00/100 M.N.)”

    FUERA DE ESO, ESTÁ EXCELENTE PARA PAÍSES COMO MÉXICO, Y OTROS LATINOMAERICANOS QUE USAN EL PESO COMO MONEDA DE CURSO LEGAL.

  579. 694 israel febrero 23, 2011 en 3:35 pm

    muchisimas gracias…. esta muy bien explicado es mas tan agradecido estoy que nunca habia dejado comentarios en algun blog, pero la verdad con estas explicaciones vale la pena tomarce el tiepo, te lo agradezco……

  580. 695 ISABEL febrero 25, 2011 en 1:37 pm

    Hola gonzalo tu me podrias ayudar!!!

    me encanta excel y eres un muy buen aporte para esta cultura…
    si yo habilito esta macro que debo hacer para que me funcione en todos los excel a crear y ya creados anteriormente. Ya que al abrir una nueva hoja no me figura la nueva formula.

    Y es posible que no aparezca ni los ceros al final ni el MN.

    Te agradecere mucho tu ayuda!!!

    Gracias

    X . X
    V

  581. 696 ANGELA febrero 28, 2011 en 10:49 am

    BUENOS DIAS
    GRACIAS POR ESTE TIPO DE INFORMACION ES MUY IMPORTANTE PARA CONOCER MAS ACERCA DE ESTE MARAVILLOSO PROGRAMA

    QUISIERA Q POR FAVOR ME COLABORARAS EN:
    QUIERO QUITAR LA PALABRA SON Y EL FINAL 00/100 N/N
    YA QUE NO APLICA A LA FACTURA Q REALIZAMOS

    TE AGRADEZCO Y ESTARE ATENTA A LA RESPUESTA

    • 697 gchable febrero 28, 2011 en 1:23 pm

      Hola angela, en los comentarios esta como hacer lo que necesitas. Saludos El 28/02/2011 09:49 a.m.,

    • 698 Antonio Mendez febrero 28, 2011 en 4:27 pm

      Hola Angela:
      Solo copia y pega este código, (ya tiene eliminado lo de SON y lo del final de 00/100 M.N.):

      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 = “(” & PesosMN & IIf(tyCantidad > 1, ” PESOS “, ” PESO “)
      End Function

      • 699 Mario septiembre 14, 2011 en 3:21 pm

        Hola Antonio
        Acabe de utilizar este codigo en un modelo de factura que tengo y no puedo aplicarlo, la ultima linea me aparece en rojo como si faltara algo, hace falta algun parentesis?

  582. 700 Juan Antonio marzo 1, 2011 en 9:44 pm

    GRACIAS LO HICE EN 2 MINUTOS

    GRACIAS

  583. 701 VYGZHO@HOTMAIL.COM marzo 1, 2011 en 11:00 pm

    GRACIAS COMPA!¡!

    POR CIERTO ALGUN TUTORIAL ACERCA DE MACROS UTILES EN EXCEL, GRACIAS POR ANTICIPADO

  584. 702 tgonzat3@hotmail.com marzo 2, 2011 en 3:32 pm

    Hee, amigo deberia usted ser profesor y de los buenos es muy didactico la verde entre a varios ste me parecio el mejor
    muchas gracias

  585. 703 hunterhb@hotmail.com marzo 4, 2011 en 4:47 pm

    HOLA,TUVE KA NECESIDAD DE BUSCAR ESTE TEMA, INTENTE APLICARLO COMO MENCIONAS PERO DE IGUAL FORMA NO SE COMO DAR DE ALTA ESTA MACRO O QUE HACER.
    COPIE EL CODIGO Y LUEGO?
    COMO HABILITO LA MACRO?
    COMO LA GRABO?
    QUE MAS SIGUE, SOY MALO EN EXCEL.
    PUEDES APOYARME?

    GRACIAS.
    HUGO

    • 704 Antonio Méndez cpantoniomendez@gmail.com marzo 4, 2011 en 5:03 pm

      Al terminar de copiar el código le das:
      1) Menú Archivo / Cerrar y volver a excel.
      2) Luego escribes algun número con decimales, para comprobar que funciona la macro, por ejemplo, en A1 escribes: 2,345.65
      3) luego en la celda a3 escribes: =PesosMN(A1)
      Eso es todo, debe aparecer en letra el número.

      Es todo. Al guardar el archivo se guarda en él la macro y se manda llamar como =PesosMN(Referencia de celda)

  586. 706 JORGE marzo 10, 2011 en 7:29 pm

    muxas gracias amigo me sirvio muxo la macro para mi trabajo apenas estoy comenzando mi carrera como contador y con esto que me es de gran ayuda pa mi trabajo.

  587. 707 marcela marzo 10, 2011 en 8:23 pm

    hello !!!!

    aahhh perfekto !!!

    lo buske x un buen rato y ahora en 5 min ya lo tenia probado .muy rapido y listo para usar !! :D …GRACIAS JOVENES !!!

    SEAN FELICES :D

  588. 708 claudia marzo 16, 2011 en 4:18 pm

    Excelente Ayuda,
    puedo agregar en una hoja de cálculos dos funciones o códigos (una en dólares y otra para pesos)?

  589. 709 JESSICA marzo 17, 2011 en 2:00 pm

    BUENAS TARDES:
    TENGO EXCEL 2007 Y AUNQUE HE TRATADO DE LEER MUCHOS DE LOS COMENTARIOS, NO HE ENCONTRADO LA RESPUESTA QUE NECESITO Y ES COMO INTRODUZCO LA FORMULA, PORQUE NO ME APARECE EL VISUAL BASIC, TENGO MACROS, PERO SOLO DICE “VER MACROS” Y “GRABAR MACRO”.
    ME SERIA DE MUCHA AYUDA SI ME LO EXPLICAN PORQUE NO SE POR DONDE ES QUE SE HACE.
    MUCHISIMAS GRACIAS

  590. 710 JESSICA marzo 17, 2011 en 2:23 pm

    BUENAS TARDES,
    YO TENGO EXCEL 2007 Y AUNQUE HE LEIDO MUCHOS DE LOS COMENTARIOS NO ENCUENTRO COMO CREAR ESTO EN ESTE EXCEL, ESTA MACROS, PERO SOLO TIENE GRABAR MACRO O VER MACROS….
    ME GUSTARIA QUE ME AYUDARAN CON ESTO .

    MUCHAS GRACIAS

    • 711 Antonio Méndez cpantoniomendez@gmail.com marzo 17, 2011 en 4:44 pm

      Hola Jessi:
      1.- Dale clic en el botón de Office (Arriba-Izquierda).
      2.- Dale clic en el botón “Opciones de Excel” (Abajo-Enmedio).
      3.- En Mas frecuentes debes habilitar la opción “Mostrar ficha Programador en la Cinta de Opciones” y
      4.- Listo, solo dale clic a la ficha Programador, que ya tienes (es la última a la derecha).
      Ahi encuentras Visual Basic, pero si lees con atención, en un comentario mio anterior, decia q es mas facil grabar una macro nueva, por ejemplo macro1, y entrar en modificar macro, ahi se borra el contenido de la macro1, y se pega el código que ya viene indicado en este blog.

      Espero haberte ayudado, Suerte!

  591. 712 diego Argentina marzo 18, 2011 en 10:39 am

    hola!!!
    sin entender nada de Vbasic (alguna vez estudie pseudocodigo… pero hace como 10 años… asi que no cuenta) lo modifiqué para que me devuelva el resultado en el siguiente formato

    1.235,66

    UN MIL DOSCIENTOS TREINTA Y CINCO CON 66/100.-

    es decir… le saqué el “con” y los parentesis, y le agregué el “con” antes de los centavos y un bonito cierre .-

    Ahora… estoy estancado, intentando colocarle el numero original a continuación, entre paréntesis y con el signo $

    necesitaría que diga:

    UN MIL DOSCIENTOS TREINTA Y CINCO CON 66/100.-($ 1.235,66)

    si alguno de los expertos programadores me da una mano… les estaría eternamente agradecido.

    Muchas Gracias

    Diego.

  592. 713 Servando Javier Reyes Briceño marzo 19, 2011 en 2:15 pm

    GRACIAS AMIGO, ESTA MUY BIEN EXPLICADO LOS PASOS A SEGUIR, COMO SOY VENEZOLANO LE HICE LA MODIFICACIÓN DE PESOS A BOLÍVARES. NO SABES CUANTO BUSQUE ESTA MACRO, PARA INCLUIRLA EN MIS FORMATOS DE FACTURA. DE NUEVO MIL GRACIAS POR COMPARTIRLO.

  593. 714 Arturo marzo 22, 2011 en 12:53 pm

    Muchas gracias, me servira para la facturacion electronica (Mexico).

  594. 715 Israel Ajiataz marzo 22, 2011 en 3:33 pm

    Viejo, que Dios te bendiga, gracias por compartir tus conocimientos. Excelente formula.

  595. 716 denisse marzo 23, 2011 en 1:10 pm

    pero se tiene que guardar el libro como macro para que se guarden los cambios????????? en la hoja a la que le puse la formula

    • 717 gchable marzo 23, 2011 en 2:54 pm

      Hola Denisse, no precisamente debes guardar el libro como macro, mas bien guardas el libro y ya lleva el modulo del Visual Basic que insertaste.

      El 23/03/2011 12:10 p.m.,

  596. 718 carlos meza marzo 25, 2011 en 11:31 am

    Hola:
    Ya lo hice todo y si me funciona este macro pero no lo puedo utilizar en dos hojas del mismo libro quisiera saber como lo puedo hacer para que funcione y cuando cierro Excel y al volverlo abrir tengo que volverlo a pegar en macro quisiera saber paso a paso como lo puedo guardar sin tener que volverlo a cargar o crear alguien me puede ayudar gracias

  597. 719 hector marzo 25, 2011 en 11:45 am

    De manera simple, se obtiene un resultado es efectivo y eficaz
    Gracias
    HB

  598. 720 gaby marzo 26, 2011 en 11:51 am

    Hola buen dia: Te quiero agradecer la verdad ya tenia tiempo tratando de conseguir esta conversión, busque en muchas páginas y ninguna me ayudo gracias deberas por conpartir tus conocimientos con tantas personas QUE trabajamos para salir adelante pero no contamos con estos conocimientos GRACIAS.

  599. 721 cecycazares@hotmail.com marzo 28, 2011 en 11:14 am

    Hola, he tratado de realizar y guardar esto pero no puedo, alguien me pudiera decir como guardarlo en un excel 2007, si me ayudaran con el paso a paso ….. se los agradezco

  600. 722 Claudia Pérez marzo 28, 2011 en 5:32 pm

    Gracias por tan buena ayuda y excelente explicación, mil gracia por compartir te felicito

  601. 723 Jose Ruiz marzo 30, 2011 en 7:00 pm

    El codigo me funciona a la perfeccion en office 2010.
    Lo que necesito es remplazar “pesos MN por dolares” y eliminar la palabra un (ejemplo un mil doscientos) para que diga solo mil doscientos, ya que aca en Puerto Rico no se utiliza con el un al principio.
    Cuando intente reemplazar la palabra Pesos MN en el codigo, al correr el macro en la hoja me daba solo el numero sin la demas informacion.
    Gracias por el aporte, estubo buenisimo/
    Ya saben SI FUNCIONA EN EXCELL 2010.

    • 724 Erika Ramirez septiembre 21, 2011 en 9:52 am

      HOLA:
      Comole hiciste por q acabo de grabar la macro y no me dejo guardar el archivo con extension xls , lo tuve q guardar como complemento de excel,
      ademas caundolo abro si aparece la maco cambio cantidades y si aplica, pero a la hora de guardar los cambios que hice nome deja le tengo e hacer con guardar como
      ayudapor favor

  602. 726 Nelson abril 1, 2011 en 4:10 pm

    Gracias por el aporte, es de mucha utilidad. Lo adecue a mis necesidades y super, no me da ningun problema con las cantidades que yo uso, para los que quieran hacer cambios una forma facil de hacerlo es utilizando la opcion buscar y reemplazar en el editor de visual para poder dejarla tal y como se quiera.
    Saludos.

  603. 727 Jose Ruiz abril 2, 2011 en 9:04 am

    recibi la hoja que me enviaste, pero me funciona si voy a escribir la cantidad en miles, ej 1500, que sale mil quinientos y no un mil quinientos como antes, pero si la cantidad es 1,000,000 un millon, entonces solo sale millon de dolares, o si solo es 1 dolar, solo sale dolar.
    habria alguna forma de programar el codigo para que obvie el “un” cuando se trate de cantidades en mil, pero que lo deje funcional cuando de 1 o de 1,000,000 o > se trate????
    Intente hacerlo con if then, pero no me salio.
    de todas formas si encuentran algo me dejan saber.

  604. 729 JANETT abril 4, 2011 en 5:19 pm

    GRACIASSSSSSSS :)

  605. 730 Hector Gonzalez abril 14, 2011 en 2:50 pm

    Excelente contribucion, gracias y Saludos

  606. 731 Juan Gomez abril 20, 2011 en 8:46 am

    Muy buena la explicacion, no soy experto en excel, menos en macros, pero a mi me funciono a la primera.

    Se agradece.

  607. 732 Anónimo abril 25, 2011 en 12:35 pm

    Muchas gracias Gonzalo , me funciono excelente!!!

  608. 733 APRENDIZ abril 25, 2011 en 7:21 pm

    HOLA, GONZALO ME GUSTO LA EXPLICACIÓN, NO ME DEJA PONERLOS EN TODOS MIS LIBROS DE TRABAJO, COMO LE HAGO? USO “Excel 2007″.

  609. 734 OSAKARO abril 26, 2011 en 3:28 am

    BUENO A MI ME FUNCIONO CON 2007 ASI:

    ‘**********************************************************************
    ‘** **’
    ‘** CONVERTIR DE NUMEROS A LETRAS **’
    ‘** AUTOR: OSCAR JAVIER LEON AVENDAÑO **’
    ‘** licencia: USO LIBRE **’
    ‘** http:www.oscarjleon.com **’
    ‘** FECHA DE CREACION: NOV.1991 **’
    ‘** **’
    ‘**********************************************************************

    Public Function CLetras(ByVal numero As Double, Optional fmtoUnidad As Integer = 0, Optional Unidades As String = “Kilos”, Optional Unidad As String = “Kilo”, Optional Genero As String = “M”) As String
    Dim strUnidad(0 To 5) As String
    Dim strUnidades(0 To 5) As String
    Dim strCifras(0 To 4) As String
    Dim NumeroCifras As Byte
    Dim NumeroTercios As Byte
    Dim strNumero As String
    Dim strTMP As String
    Dim dblNumeroEntero As Double
    Dim intNumeroTmp As Integer
    Dim intCentavos As Integer
    Dim J As Integer
    Dim intNumTmp As Integer

    strUnidades(0) = ” pesos m/cte”: strUnidades(1) = ” unidades”: strUnidades(2) = ” dolares”: strUnidades(3) = ” euros”: strUnidades(4) = ” ” & Unidades: strUnidades(5) = “”
    strUnidad(0) = ” peso m/cte”: strUnidad(1) = ” unidad”: strUnidad(2) = ” dolar”: strUnidad(3) = ” euro”: strUnidad(4) = ” ” & Unidad: strUnidad(5) = “”
    strCifras(1) = “”: strCifras(2) = ” mil “: strCifras(3) = ” millones “: strCifras(4) = ” mil “: strCifras(0) = ” millón ”

    intCentavos = Int((Round(numero, 2) * 100) – (Int(numero) * 100))
    dblNumeroEntero = Round(numero, 2) – (intCentavos / 100)
    strNumero = CStr(Abs(dblNumeroEntero))
    NumeroCifras = Len(strNumero)
    NumeroTercios = Abs(Int(-NumeroCifras / 3))

    Select Case dblNumeroEntero
    Case 0
    strTMP = “cero”
    Case 1
    If fmtoUnidad 5 Then
    strTMP = “un”
    strUnidades(fmtoUnidad) = strUnidad(fmtoUnidad)
    Else
    strTMP = “uno”
    End If
    If Genero “M” Then strTMP = “una”
    Case 2 To 999
    strTMP = CLetrasS1(CLetrasS3(dblNumeroEntero, 1), Genero)
    Case 1000
    strTMP = “mil”
    Case 1000000
    strTMP = “un millón”
    Case 1000001 To 1999999
    strCifras(3) = ” millón ”
    For J = NumeroTercios To 1 Step -1
    intNumTmp = CLetrasS3(dblNumeroEntero, J)
    If intNumTmp 0 Then strTMP = strTMP & CLetrasS1(intNumTmp, Genero) & strCifras(J)
    Next J
    Case Else
    For J = NumeroTercios To 1 Step -1
    intNumTmp = CLetrasS3(dblNumeroEntero, J)
    If intNumTmp 0 Then strTMP = strTMP & CLetrasS1(intNumTmp, Genero) & strCifras(J)
    Next J
    End Select
    If Right(strTMP, 9) = “millones ” Then strTMP = Mid(strTMP, 1, (Len(strTMP) – 9)) & “millones de”
    If Right(strTMP, 6) = “millón” Then strTMP = Mid(strTMP, 1, (Len(strTMP) – 6)) & “millón de”
    strTMP = strTMP & strUnidades(fmtoUnidad)

    If intCentavos > 0 Then
    Select Case fmtoUnidad
    Case 0
    strTMP = strTMP & ” con ” & CLetrasS1(intCentavos, Genero) & ” centavos”
    Case 5
    strTMP = strTMP & ” punto ” & CLetrasS1(intCentavos, Genero)
    End Select
    End If

    ‘cambiar “un mil” o “una mil” por “mil”
    strTMP = Replace(strTMP, “una mil”, “mil”, , , vbTextCompare)
    strTMP = Replace(strTMP, “un mil”, “mil”, , , vbTextCompare)

    CLetras = strTMP
    End Function

    ‘función que secundaria que calcula las decenas
    Private Function CLetrasS2(numero As Integer, Genero As String) As String
    Dim strUnidades(0 To 20) As String: Dim strDecenas(2 To 9) As String: Dim Unidades As Byte: Dim Decenas As Byte: Dim strTMP As String

    strUnidades(0) = “”: strUnidades(2) = “dos”: strUnidades(3) = “tres”: strUnidades(4) = “cuatro”: strUnidades(5) = “cinco”: strUnidades(6) = “seis”: strUnidades(7) = “siete”: strUnidades(8) = “ocho”: strUnidades(9) = “nueve”: strUnidades(10) = “diez”: strUnidades(11) = “once”: strUnidades(12) = “doce”: strUnidades(13) = “trece”: strUnidades(14) = “catorce”: strUnidades(15) = “quince”: strUnidades(16) = “diez y seis”: strUnidades(17) = “diez y siete”: strUnidades(18) = “diez y ocho”: strUnidades(19) = “diez y nueve”: strUnidades(20) = “veinte”
    strDecenas(2) = “veinti”: strDecenas(3) = “treinta”: strDecenas(4) = “cuarenta”: strDecenas(5) = “cincuenta”: strDecenas(6) = “sesenta”: strDecenas(7) = “setenta”: strDecenas(8) = “ochenta”: strDecenas(9) = “noventa”
    If Genero = “M” Then
    strUnidades(1) = “un”
    Else
    strUnidades(1) = “una”
    End If
    Decenas = Int(numero / 10)
    Unidades = Int(numero – (Decenas * 10))

    Select Case numero
    Case 1 To 20
    strTMP = strUnidades(numero)
    Case 21 To 29
    strTMP = strDecenas(Decenas) & strUnidades(Unidades)
    Case 30 To 99
    If (Decenas > 0) And (Unidades > 0) Then strTMP = strDecenas(Decenas) & ” y ” & strUnidades(Unidades)
    If (Decenas > 0) And (Unidades = 0) Then strTMP = strDecenas(Decenas)
    End Select
    CLetrasS2 = strTMP
    End Function

    ‘Funcion secundaria que calcula las centenas

    Private Function CLetrasS1(numero As Integer, Genero As String) As String
    Dim strCentenas(1 To 9) As String: Dim Centenas As Byte: Dim strTMP As String: Dim intNumeroEntero As Integer

    intNumeroEntero = Int(numero)
    Centenas = Int(numero / 100)
    If Genero = “M” Then
    strCentenas(1) = “ciento”: strCentenas(2) = “doscientos”: strCentenas(3) = “trecientos”: strCentenas(4) = “cuatrocientos”: strCentenas(5) = “quinientos”: strCentenas(6) = “seiscientos”: strCentenas(7) = “setecientos”: strCentenas(8) = “ochocientos”: strCentenas(9) = “novecientos”
    Else
    strCentenas(1) = “ciento”: strCentenas(2) = “doscientas”: strCentenas(3) = “trecientas”: strCentenas(4) = “cuatrocientas”: strCentenas(5) = “quinientas”: strCentenas(6) = “seiscientas”: strCentenas(7) = “setecientas”: strCentenas(8) = “ochocientas”: strCentenas(9) = “novecientas”
    End If
    Select Case numero
    Case 0 To 99
    strTMP = CLetrasS2(intNumeroEntero, Genero)
    Case 100
    strTMP = “cien”
    Case 200, 300, 400, 500, 600, 700, 800, 900
    strTMP = strCentenas(Centenas)
    Case Else
    strTMP = strCentenas(Centenas) & ” ” & CLetrasS2(Int(numero – (Centenas * 100)), Genero)
    End Select
    CLetrasS1 = strTMP
    End Function

    ‘Funcion secundaria que saca un tres cifras del numero
    Private Function CLetrasS3(numero As Double, Tercio As Integer) As Integer
    Dim CadaCifra As Integer
    Dim OrdenInverso As Integer
    Dim intNumeroTmp As Integer
    Dim NombreCifra(1 To 12) As String

    OrdenInverso = Len(CStr(numero))

    ‘Borra la matriz
    For CadaCifra = 1 To 12: NombreCifra(CadaCifra) = “0″: Next CadaCifra

    For CadaCifra = 1 To Len(CStr(numero))
    NombreCifra(OrdenInverso) = Val(Mid(CStr(numero), CadaCifra, 1))
    OrdenInverso = OrdenInverso – 1
    Next CadaCifra
    intNumeroTmp = Val(NombreCifra((Tercio * 3)) & NombreCifra((Tercio * 3) – 1) & NombreCifra((Tercio * 3) – 2))
    CLetrasS3 = intNumeroTmp
    End Function

    ESPERO LE SEA UTIL

  610. 735 DAVID abril 27, 2011 en 5:23 pm

    como puedo arrastrar los datos de mis clientes a una factura que ya diseñe en exel 2007, desplegando una lista de todos los clientes en la factura

    • 736 cpantoniomendez abril 27, 2011 en 5:33 pm

      David, es mediante vínculos, o mas elaborado, utilizando la función buscarv, y asignando números progresivos a tus clientes, asi los puedes incluir fácilmente en una factura…. saludos

  611. 737 CARLITOS abril 28, 2011 en 12:13 pm

    Hola amigos.

    Esto es lo que realmente necesito, soy de Perú y es obvio que la moneda no es la misma, en este caso siyo quisiera cambiar de pesos a nuevos soles que es la moneda de mi pais, que formula utilizo. Gracias

    • 738 Emilio Velis abril 29, 2011 en 3:18 pm

      Hola,

      Lo que necesitás hacer se soluciona facilísimo, solo buscás en la penúltima línea esto:

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

      Solo es cuestión de cambiar “pesos” y “peso” con “nuevos soles”. Te advierto que tengás cuidado con los espacios que ya existen dentro de las comillas, porque sirven para ordenar el formato del texto a la hora de mostrarse (de lo contrario te pueden aparecer palabras unidas).

  612. 739 Emilio Velis abril 29, 2011 en 3:16 pm

    ¡Excelentísimo! Muchas gracias por el aportazo, y un saludo.

  613. 740 ISRAEL SALINAS abril 29, 2011 en 7:18 pm

    ERES COMO UN DIOS CA
    MUY BUENO EXELENTE DIRIA YO
    DESDE LA CIUDAD MAS CONTAMINADA DEL MUNDO

  614. 741 George mayo 5, 2011 en 12:08 pm

    excelente muchas gracias por tu ayuda quedo lista con la explicacion grafica que hiciste me fue de mucha utilida

  615. 742 eugenio briceño mayo 9, 2011 en 6:06 pm

    Esta esta ok. pero necesito que me salga como este ejm.

    1,001.15 que en letras diga (UN MIL UNO CON 00/100 NUEVOS SOLES ME podrian dar macro? les agradezco muhco de antemano

  616. 743 eugenio briceño mayo 9, 2011 en 6:10 pm

    perdon me equivoque en los centimos

    Esta esta ok. pero necesito que me salga como este ejm.

    1,001.15 que en letras diga (UN MIL UNO CON 15/100 NUEVOS SOLES ME podrian dar macro? les agradezco muhco de antemano

  617. 744 BYRON mayo 12, 2011 en 11:52 pm

    buenisima nota compradre gracias de gran utilidad

  618. 745 KENIA HDZ mayo 14, 2011 en 11:10 am

    EXCELENTE ME SIMPLIFICASTE LA VIDA¡¡¡ GRACIASSSSS ¡¡¡ :)

  619. 746 Santos Eugenio mayo 14, 2011 en 12:39 pm

    FELICITACIONES POR LA MACRO ES EXCELENTISIMA

    Pero como soy de Perú es obvio que la moneda es en NUEVOS SOLES,Y ESTO YA LO SOLUCIONE, ahora cuando digito 1001.15 en letras me sale: UN MIL UN CON 15/100 NUEVOS SOLES; la verdad que yo quiero que me salga UN MIL UNO CON 15/100 NUEVOS SOLES; osea el problema esta en EL SEGUNDO UN y que en ves de UN que salga UNO; igual si digito 2001.10 el resultado es (DOS MIL UN CON 10/100 NUEVOS SOLES) y lo que quiero es que me salga (DOS MIL UNO CON 10/100 NUEVOS SOLES. Por favor si alguien me puede dar alguna solucion que le estaría eternamente agradecido.

    Atte,
    seubrimarq

  620. 747 Santos Eugenio mayo 14, 2011 en 12:50 pm

    siguiendo con el tema los numeros que ingreso a partir del 2001, 3001, 4001, etc. ya me salen pero cuando digito el 1001.20 ME SALE UNO MIL UNO y loque quisiera es que me salga UN MIL UNO gracias de antemano nuevamente.

  621. 749 Jesus Cacharuco mayo 16, 2011 en 8:49 am

    El macro me pareció genial de todos los que he bajado es el primero que me funciona y directamente.

    quisiera cambiar el tipo de moneda hacerla mas general.

    de todas maneras felicitaciones y muchas gracias

  622. 750 MARTHA mayo 17, 2011 en 7:44 pm

    Hola que pena podrias ayudarme por favor, al ingresar la formula me sale #¿nombre? y ya la guarde como complemento y me sigue saliendo este error. ayuda por fis

  623. 751 Maco mayo 18, 2011 en 2:01 pm

    Mil gracias me has facilitado el trabajo y no solo a mí sino a un montón de personas.

    Bendiciones

  624. 752 atlueman@gmail.com mayo 19, 2011 en 9:13 am

    Sobra decirlo, peroes muy buena tu explicación… ni como tener errores de esa manera. Saludos

  625. 753 luis hernandez mayo 19, 2011 en 4:36 pm

    mucha gracias lo logre gracias por su apoyo me fue de mucha utlidad.

    slds.

  626. 754 panda mayo 19, 2011 en 11:27 pm

    gracias exelente aporte

  627. 755 JORGE mayo 24, 2011 en 7:06 am

    MUCHAS GRACIAS POR TU APORTE ESTA MUY BUENO Y FACIL DE ENTENDER

  628. 756 Nancy mayo 25, 2011 en 4:37 pm

    Muchas gracias por esta aportación, auqnue batallé un poco, leyendo las demas respuesta lo resolví. Gracias a todos.

  629. 757 Santos Eugenio mayo 26, 2011 en 6:00 pm

    Utilizo algunos softwares y en el campo fecha de nacimiento solo digito por ejm. 200165, que al darle enter se convierte en 20/01/1965; es ovbio que que el campo es de fecha, ahora esto quiero hacerlo en excel hay alguna forma de hacerlo. por favor una ayuda que estare agradecido.

    Eugene

  630. 758 Carlos mayo 28, 2011 en 11:01 pm

    hola q tal yo ya cheque y si funciona muy bien, pero aun siento que le falta un poco me gustaria saber como le hago para agregar billones se q es poco usual pero si se llega a ocupar en ocaciones, espero su repuesta, gracias!

  631. 759 LUIS NOEL mayo 31, 2011 en 2:46 am

    ME AGRADO MUCHO LO QUE APRENDÍ DE TI,
    LO PROVE Y FUNCIONA
    QUE DIOS TE BENDIGA
    GRACIAS POR TU ALTRUISMO
    SALUDOS.

  632. 760 peperuizh@prodigy.net.mx mayo 31, 2011 en 11:29 am

    Exelente, me funciono muy bien, bravo.

  633. 761 MARTHA junio 8, 2011 en 11:17 pm

    Hola alguien que me ayude por favor, al ingresar la formula me sale #¿nombre? y ya la guarde como complemento y me sigue saliendo este error. ayuda por fis no se si el hecho de que mi ecxel diga que es de uso no comercial tenga algo que ver.

  634. 762 J.A.SilvaG junio 9, 2011 en 7:34 pm

    “Palitroche” esa era la palabra… como olvidarlo….!!!
    Excelente Contribución.

  635. 763 Yo!!! junio 16, 2011 en 12:16 pm

    Hice todo copie la macro la pegué, la guardé como complemento. Pero en vez de salir el númro en letras, en la celda, me sale la fórmula!!!! si alguien mepudiera ayudar se loa gradecería ;)

    • 764 Enrique octubre 10, 2011 en 2:55 pm

      ola mira yo tuve el mismo problema pero espero y me explique bien: abres un libro de trabajo en blanco, le pegas el nuevo modulo y lo cierras o utiliza alt+Q. despues vas a irte a guardar o guardar como: cambias el nombre le pones por asi decirlo : pesosMN. abajo de donde cambiaste el nombre esta el tipo de documento en que lo quieres guardar, dale clik a la casilla y se despliega una lista buscas en esa lista el nombre que diga: COMPLEMENTO DE EXCEL. Y LE DAS GUARDAR, automaticamente se guarda en c en una carpeta llamada complementos. y listo. AHORA abres un nuevo libro de excel te vas a la parte superior izquierda de tu pantalla le das clik al icono te vas a opciones de excel (aveces solo dice opciones)le das clik te vas a donde dice complementos( una vez en complementos hasta abajo hay una casilla que dice complementos de excel de las en LA CASILLA QUE DICE: IR, te abre una ventanita y ahi tiene que aparecer el nuevo complemento que creamos llamado pesosMN, si no aparece a simple vista le das examinar y escribes el nombre con el que guardaste el complemento. le das aceptar y listo ahora es usable en todos los libros que kieras abrir… sin nececidad de estar ingresando el modulo de nuevo.
      SUGERENCIA: solo no olvides de no borrar el complemento creado..si lo borras tienes que empezar de ceros.
      NOTA: si al abrir el libro de excel no te funciona, solo tienes que irte a opciones y añades el complemento que creamos..
      graciassss……
      asi queda anexado a tu excel..

  636. 765 Anónimo junio 17, 2011 en 11:44 am

    muy agradecido. me ayudaste un buen

  637. 766 cecilia junio 21, 2011 en 6:17 pm

    genial muchas gracias

  638. 767 perher12 junio 25, 2011 en 3:59 pm

    Excelente ayuda la que me ha dado, muchas gracias…

  639. 768 LIA ASTE junio 27, 2011 en 11:17 pm

    GRACIAS, ME HA IDO BIEN Y NO PUEDO IGNORARLO ME HA IDO SUPER CON TU CODIGO.

  640. 769 luis junio 30, 2011 en 11:44 am

    ERES UN CHINGON. GRACIAS

  641. 770 DAVID LARA VEGA junio 30, 2011 en 8:49 pm

    MUY BUENA E IMPORTANTE LA MACRO
    YO LA MODIFIQUE PARA ADECUARLA A MI PAIS COLOMBIA:
    PesosMN = “SON: (” & PesosMN & IIf(tyCantidad > 1, ” PESOS CON “, ” PESO CON “) & Format(Str(lyCentavos), “00″) & “/100 MONEDA CORRIENTE.)”

    ME QUEDA LA INQUIETUD PARA NOMBRAR MILES DE MILLONES O HASTA BILLONES

  642. 771 DAVID LARA VEGA junio 30, 2011 en 9:07 pm

    Felicitaciones
    Tengo una macro para responder cartas a diferentes destinatarios que me gustaria compartir para que me ayudes

  643. 772 Anónimo junio 30, 2011 en 11:29 pm

    Espectacular…. desde Guayaquil un saludo…

  644. 773 NESTOR ANTONIO julio 4, 2011 en 8:11 pm

    AMIGOS AQUI LES ENVIO PARA LA CONVERSION EN NUEVOS SOLES PARA TODOS LOS CHOCHES DE NUESTRO QUERIDO PERU

    Public Function NL(ByVal Numero As Double) 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")
    c01 = 1
    pos = 1
    TFNumero = ""
    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 = “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
    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 Soles"
    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 = “uno ”
    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 = “”

  645. 775 DAVID LARA VEGA julio 5, 2011 en 10:19 am

    y aqui como seria la fòrmula en la hoja de cálculo.. tambien me gustaria para solo centavos

  646. 776 Anónimo julio 7, 2011 en 12:04 pm

    MUCHISIMAS GRACIAS GONZALO TE LO AGRADECEMOS MUCHISIMO POR TU VALIOSA AYUDA

  647. 777 Anónimo julio 8, 2011 en 7:19 pm

    GRACIAS ERES UN GENIO

  648. 778 Anónimo julio 15, 2011 en 9:40 am

    MUCHAS GRACIAS EH!!! ME HAN SALVADO, MUY BUEN APORTE

  649. 779 Erick julio 15, 2011 en 8:45 pm

    Gracias amigo, ke sencillo es usarlo y modificarlo, tengo XP y OFFICE 2007 y sin ningún problema funciono…

    Saludos desde Monterrey MX

  650. 780 JORGE julio 17, 2011 en 4:26 pm

    MUCHAS GRACIAS ME FUE DE MUCHA UTILIDAD !!

  651. 781 karolina coronel julio 18, 2011 en 12:55 pm

    UUUF BUSKE KOMO LOKA Y NO ENCONTRABA NAAAAADA Q ME AYUDARA PERO ESTE FUE EFECTIVO =) AUNQ YO USO DOLARES PERO ESO SI SE COMO ARREGLARLO GRACIIIAAAAAAAAAS

  652. 782 VIDAL ALMAZAN julio 19, 2011 en 4:34 pm

    GRACIAS POR TU APORTE ESTO ES EXCELENTE…

  653. 783 Anónimo julio 19, 2011 en 6:12 pm

    HOMBRE MUCHAS GRACIAS MUY BUENO QUE LAS PERSONAS COMPARTA LAS COSAS

  654. 784 Roberto B julio 19, 2011 en 10:01 pm

    Hola. No me acuerdo cuánto tiempo busqué algo así. En serio simple.
    El único problema es que empiezo a usar el Calc de OpenOffice, me dije, seguro sirve. Me las ingenié para abrir el OpenOffice Basic y lo copié. Se detiene en la línea 4 ó 5 que empieza tyCantidad = Round(tyCantidad, 2)
    Alguna solución?

  655. 785 Manuel julio 20, 2011 en 11:01 pm

    muy buena, gracia por compartir tus conocimientos

  656. 786 AngelO julio 21, 2011 en 11:55 am

    Muy buen aporte,
    gracias y pa’lantee!!!!!

    Cuidense la banda de gchable!!!

    Deberían de subirlo a wikipedia =P

  657. 787 mitzi h julio 21, 2011 en 5:32 pm

    Muchas gracias!! :D Fue de graaan ayuda

  658. 788 vero julio 22, 2011 en 10:35 am

    Gracias!!!! simplemente me facilitaste la existencia…..!!!! te sacaste un 10

  659. 789 Joserra julio 22, 2011 en 6:41 pm

    MUCHISIMAS GRACIASS MUY MUY BIEN POR TI me sirvio

  660. 790 Wallas julio 26, 2011 en 1:20 pm

    Hola;

    Excelente Macro, solo que tengo una pregunta ¿para que aplique a todos mis libros es necesario abrir cada uno y cargar la macro o existe alguna manera de cargar esta macro para que en cualquier libro que abra este activada?

    De antemano muchas gracias!!. . .

    • 791 Enrique octubre 10, 2011 en 2:53 pm

      hola mira yo tuve el mismo problema pero espero y me explique bien: abres un libro de trabajo en blanco, le pegas el nuevo modulo y lo cierras o utiliza alt+Q. despues vas a irte a guardar o guardar como: cambias el nombre le pones por asi decirlo : pesosMN. abajo de donde cambiaste el nombre esta el tipo de documento en que lo quieres guardar, dale clik a la casilla y se despliega una lista buscas en esa lista el nombre que diga: COMPLEMENTO DE EXCEL. Y LE DAS GUARDAR, automaticamente se guarda en c en una carpeta llamada complementos. y listo. AHORA abres un nuevo libro de excel te vas a la parte superior izquierda de tu pantalla le das clik al icono te vas a opciones de excel (aveces solo dice opciones)le das clik te vas a donde dice complementos( una vez en complementos hasta abajo hay una casilla que dice complementos de excel le das clik en LA CASILLA QUE DICE: IR, te abre una ventanita y ahi tiene que aparecer el nuevo complemento que creamos llamado pesosMN, si no aparece a simple vista le das examinar y escribes el nombre con el que guardaste el complemento. le das aceptar y listo ahora es usable en todos los libros que kieras abrir… sin nececidad de estar ingresando el modulo de nuevo.
      SUGERENCIA: solo no olvides de no borrar el complemento creado..si lo borras tienes que empezar de ceros.
      NOTA: si al abrir el libro de excel no te funciona, solo tienes que irte a opciones y añades el complemento que creamos..
      graciassss……
      asi queda anexado a tu excel..

  661. 792 Edni julio 28, 2011 en 3:24 pm

    Excelente =) me sirvió de mucho, muchas gracias.
    Saludos

  662. 793 Anónimo julio 29, 2011 en 12:33 pm

    Hola Gonzalo muy buen aporte esta formula,solo que en el formato de mi factura me marca error y no me da el resultado,podras enviarme tu correo para enviate mi archivo y ver que es lo que tengo mal,de antemano telo agradezco.

  663. 794 C.P. Daniel agosto 1, 2011 en 7:29 pm

    Que gran aporte nos hiciste, realmente agradezco a blogueros como tu! Muchas gracias y felicidades!

  664. 795 julio agosto 2, 2011 en 10:32 am

    Acá hay una función que convierte números a letras con decimales y hasta miles de billones.
    http://vba-para-excel.blogspot.com/2011/08/convertir-numeros-letras-con-decimales.html

  665. 797 MacUser agosto 5, 2011 en 5:52 pm

    Hola. Primero que nada, gracias por el aporte. Muy bien explicado y sencillo hasta… jejeje… necesitamos variar algo. A ver si me puedes ayudar: verás, yo facturo en pesos y en dolares, por lo que mi formato en excel, tiene un botón donde marcamos que moneda corresponde, me pregunto si se puede incluir esta variante en la macro, dependiendo qué botón marquemos. De nuevo, gracias por tu ayuda,
    Saludos desde la Sultana del Norte

  666. 798 Lalo agosto 6, 2011 en 5:10 pm

    Gran ayuda!!! los que se les complica es por que no han grabado nunca una Macro.

    Hay que habilitar la seguridad como dijo alguien arriba, aunque yo configure que se puedan ejecutar todas las macros, claro solo abro libros en los que confió.

    En excel 2007 habiliten la cinta de opciones Programador.
    En el Botón de office – Opciones de excel.

    Casilla Mostrar ficha programador en la cinta de opciones y ahí encontraran todo lo relacionado a macros y al editor de VB

    Suerte.

  667. 799 Gerardo agosto 9, 2011 en 6:45 pm

    Gracias !!
    Saludos a todos desde Lerdo de Tejada en Veracruz, Mexico

  668. 800 memo agosto 14, 2011 en 1:01 am

    felicidadez excelente macro muy util gracias

  669. 801 ruben agosto 16, 2011 en 4:25 pm

    muy didactico
    gracias x el dato man

  670. 802 Emileeeo agosto 16, 2011 en 5:55 pm

    Utaaa, eres un magazo

  671. 803 Anónimo agosto 23, 2011 en 11:57 am

    Mis mas sinceras Felicitaciones, Gracias por compartir tus conocimientos.

    Saludos. David Hernández Ocadiz México

  672. 804 Cornelio agosto 24, 2011 en 10:29 am

    Muchas gracias por compartir tus conocimientos, me es de mucha utilidad y esta muy bien redactado y entendible. Nuevamente Gracias

  673. 805 Provinciana agosto 24, 2011 en 2:03 pm

    Hola gchable, lo hice y me salio perfectamente. Pero yo soy de Venezuela y deseo colocar Bolívares en vez de pesos, Como haria?? he intentado y me sale error

  674. 809 klarys agosto 27, 2011 en 11:03 am

    ESTIMADO CONTADOR GONZALO
    ERES UN GENIO!!!!! GRACIAS

  675. 810 mcascant agosto 29, 2011 en 11:40 am

    Hola gchable,

    Gracias por tu aportacion

    Trabajo en una ONG en Senegal, donde se habla frances. Me gustaria poder adaptar el codigo a las variaciones del frances para poder usarlo en nuestro trabajo aqui en terreno. Pero no tengo suficiente nivel de programacion (… no tengo ninguno).

    En frances, 71 es soixante-onze (sesenta y once) y asi hasta 79 con las decenas “douze”, “treize”, “quatorze”, “quinze”, “seize”, “dix-set”, “dix-huit”, “dix-neuf”,

    81 es “quatre-vignt un” (cuatro veintes y uno), y asi hasta 99 con “deux”, “trois”, “quatre”, “cinq”, “six”, “sept”, “huit”, “neuf”, “dix”, “onze”, “douze”, “treize”, “quatorze”, “quinze”, “seize”, “dix-set”, “dix-huit”, “dix-neuf”, “vingt”, “vignt-un”, “vigt-deux”, “vigt-trois”, “vigt-quatre”, “vigt-cinc”, “vigt-six”, “vigt-sept”, “vigt-huit”, “vigt-neuf”.

    He traducido las palabras en el codigo que presentas pero cuando llega a estos numeros aporta un resultado diferente, como es logico.

    ¿Podrias ayudarnos?

  676. 811 Andres agosto 30, 2011 en 11:05 am

    Hola. Excelentisimo aporte el tuyo, pero no he encontrado la manera de escribir cifras superiores a los cientos de millones, por ejemplo (1’023.236.254,12) mil millones….. o noventa y cinco mil millones…..etc. Podrías ayudarnos?

    De antemano muchas gracias.

  677. 813 Anónimo agosto 31, 2011 en 8:19 am

    que tal buen dia, le agradezco la aportacion me es de mucha ayuda en mis labores, por ejemplo si deseo que aparezcan una cantidad en pesos y la otra en dolares tomando valores de dos celdas y que el texto aparezca en una sola celda, me podrias apoyar, de antemano le agradezco la ayuda que comparte.

    saludos

  678. 814 victor agosto 31, 2011 en 9:31 am

    hola oye, me podrias ayudar para quitar las instrucciones que no serian necesarias para mostrar unicamente en letra ejemplo:8.7 = ocho punto siete y si tambien podrias decirme como hacer que el siete sea en letra porque me lo da en numero, no encuentro donde lo declaras, gracias de antemano

  679. 815 Alejandro septiembre 7, 2011 en 7:28 am

    Gracias Maestro, muy simple de usar y fácil de instalar…

  680. 816 Anónimo septiembre 7, 2011 en 5:32 pm

    GRAN APORTE AMIGO¡¡¡¡¡¡¡GRACIAS

  681. 817 Camilo Fonseca septiembre 9, 2011 en 3:40 pm

    Hola Todos, les tengo una inquietud no se si ya les haya pasado.

    la primera vez que utilice utilice el complemento, me aparecia la funcion PesosMN en la ayuda automatica al ingresar funciones, “me explico: cuando colocas el = y la primera letra de la funcion sale un menu contextual con las posibles funciones a usar”. Ahi aparecia PesosMN. Se me ocurrio cambiarle el Nombre a la funcion de PesosMN a Num2Letra y ahora ya no me aparece la funcion en ese menu contextual de ayuda, ni por mas que volvi a utilizar PesosMN… Alguien sabe como revertir o hacer que la funcion aparezca en ese mini menu de ayuda…

    Muchas gracias si alguien sabe como hacerlo..

    • 818 Enrique octubre 10, 2011 en 2:48 pm

      lo que pasa es que lo borraste.. lo que tienes que hacer es crearlo de nuevo y guardarlo como: complemento de excel, de ahi lo añades a tu lista de complementos y listo vuele a aparecer de nuevo … es sencillo solo tienes que volver a ccrer tu complemento de excel

  682. 819 Miguel septiembre 14, 2011 en 2:01 pm

    MUCHAS GRACIAS ME SIRVIO DE MUCHO ESTA MACRO, TENIA RATO YA BUSCANDO LA FORMA DE REALIZAR ESTE PASO, QUE BUENO QUE HAY GENTE COMO TU TODAVIA QUE CADA COSA QUE SABE LA ENSEÑA A LOS DEMAS

  683. 820 cpantoniomendez septiembre 14, 2011 en 10:46 pm

    Es verdad, bueno, te dejo este otro, que utilizo yo, hace años lo bajé de otra pagina….

    ‘Funciones para convertir de números a letras
    ‘Llamada : Letras(Número,Formato) – Formato 1-Pesos, 2-Dólares
    Function Unidades(num, UNO)
    Dim U
    Dim Cad

    U = Array(“UN”, “DOS”, “TRES”, “CUATRO”, “CINCO”, “SEIS”, “SIETE”, “OCHO”, “NUEVE”)
    Cad = “”
    If num = 1 Then
    If UNO = 1 Then
    Cad = Cad & “UNO”
    Else
    Cad = Cad & “UN”
    End If
    Else
    Cad = Cad & U(num – 1)
    End If
    Unidades = Cad
    End Function

    Function Decenas(num1, res)
    Dim D1
    D1 = Array(“ONCE”, “DOCE”, “TRECE”, “CATORCE”, “QUINCE”, “DIECISEIS”, “DIECISIETE”, _
    “DIECIOCHO”, “DIECINUEVE”)
    D2 = Array(“DIEZ”, “VEINT”, “TREINTA”, “CUARENTA”, “CINCUENTA”, “SESENTA”, _
    “SETENTA”, “OCHENTA”, “NOVENTA”)

    If num1 > 10 And num1 < 20 Then
    Cad1 = D1(num1 – 10 – 1)
    Else
    Cad1 = D2((num1 \ 10) – 1)
    If (num1 \ 10) 2 Then
    If res > 0 Then
    Cad1 = Cad1 & ” Y ”
    Cad1 = Cad1 & Unidades(num1 Mod 10, 0)
    End If
    Else
    If res = 0 Then
    Cad1 = Cad1 & “E”
    Else
    Cad1 = Cad1 & “I”
    Cad1 = Cad1 & Unidades(num1 Mod 10, 0)
    End If
    End If
    End If
    Decenas = Cad1
    End Function

    Function Cientos(num2)
    num3 = num2 \ 100
    Select Case num3
    Case 1
    If num2 = 100 Then
    cad2 = “CIEN ”
    Else
    cad2 = “CIENTO ”
    End If
    Case 5
    cad2 = “QUINIENTOS ”
    Case 7
    cad2 = “SETECIENTOS ”
    Case 9
    cad2 = “NOVECIENTOS ”
    Case Else
    cad2 = Unidades(num3, 0) & “CIENTOS ”
    End Select

    num2 = num2 Mod 100
    If num2 > 0 Then
    If num2 = 100) Then
    cad3 = Cientos(num4)
    Else
    If (num4 >= 10) Then
    cad3 = Decenas(num4, num4 Mod 10)
    Else
    cad3 = Unidades(num4, 0)
    End If
    End If
    cad3 = cad3 & ” MIL ”
    Miles = cad3
    End Function

    Function Millones(cant)
    If cant = 1 Then
    ter = ” ”
    Else
    ter = “ES ”
    End If
    If (cant >= 1000) Then
    cantl = cantl & Miles(cant \ 1000)
    cant = cant Mod 1000
    End If
    If cant > 0 Then
    If cant >= 100 Then
    cantl = cantl & Cientos(cant)
    Else
    If cant >= 10 Then
    cantl = cantl & Decenas(cant, cant Mod 10)
    Else
    cantl = cantl & Unidades(cant, 0)
    End If
    End If
    End If
    Millones = cantl & ” MILLON” & ter
    End Function
    Function decimales(numero As Single) As Integer
    Dim iaux As Integer
    iaux = numero – Application.Round(numero, 2)
    decimales = iaux
    End Function

    Function letras(cantm As Variant, ByVal mon As Integer) As String
    Dim cants1 As String, num1 As Variant, num2 As Variant

    num1 = cantm \ 1000000
    num2 = cantm – (num1 * 1000000)

    cents = (num2 * 100) Mod 100
    If cents = 0 Then
    cents1 = “00″
    Else
    cents1 = Format(cents)
    End If
    cantm = cantm – (cents / 100)
    If cantm >= 1000000 Then
    cantlm = Millones(cantm \ 1000000)
    cantm = cantm Mod 1000000
    End If
    If cantm > 0 Then
    If (cantm >= 1000) Then
    cantlm = cantlm & Miles(cantm \ 1000)
    cantm = cantm Mod 1000
    End If
    End If
    If cantm > 0 Then
    If cantm >= 100 Then
    cantlm = cantlm & Cientos(cantm)
    Else
    If cantm >= 10 Then
    cantlm = cantlm & Decenas(cantm, cantm Mod 10)
    Else
    cantlm = cantlm & Unidades(cantm, 1)
    End If
    End If
    End If
    If mon = 1 Then
    letras = cantlm & ” PESOS, ” & cents1 & “/100 M.N.”
    Else
    letras = cantlm & ” DOLARES ” & cents1 & “/100 U.S.D.”
    End If
    End Function

    Sub prueba()
    Dim res As String, num As Single
    num = 50899697.51
    res = letras(num, 1)
    End Sub

    Una vez que lo guardas como macro, la mandas llamar asi:
    =”(“&(letras(F7,1))&”)” donde F7 es la celda donde está el número a convertir, y el 1 es pesos, y el 2 es dólares….espero te sirva, a mi me sirve muy bien… suerte!

    Tambien encontré otra direccion lineas arriba de este blog, que hace referencia a escribir con letra sin macro, y tambien esta padrisimo, porque pone con mayuscula inicial, todas mayusculas o mayuscula en cada palabra, repito: muy interesante.. saludos!

  684. 821 MABEL septiembre 15, 2011 en 8:49 am

    TE DARÍA UN BESO DONDE NO LLEGA EL SOL!!!!!

  685. 823 Omar Vergara V septiembre 15, 2011 en 11:16 am

    muy bueno, muchas gracias desde veracruz, mexico!!!

  686. 824 Ery septiembre 20, 2011 en 2:17 pm

    Gracias q buen aporte, sobre todo la explicacion llevaba tiempo buscando algo asi, me agilizaste mi trabajo
    saludos

  687. 825 Erika Ramirez septiembre 20, 2011 en 8:20 pm

    HOLA ME GUSTO LA EXPLICACION Y PARA EXCEL 2007 ESTA MUY BIEN AHI NO TUVE PROBLEMAS PARA INSERTAR LA MACRO

    PERO COMO LE HAGO PARA EXCEL 2010
    QUISE HACER LOS MISMOS PASOS Y NO ME DEJO
    AYUDAME POR FAVOR
    GRACIAS

    • 826 Enrique octubre 10, 2011 en 2:46 pm

      hola mira yo tuve el mismo problema pero espero y me explique bien:
      abres un libro de trabajo en blanco, primero que nada tienes que ir a la parte superior izquierda en archivo, le das click en opciones, luego en personalizar cinta de opciones, de ahi en comandos mas utilizados, ahi buscas programador y lo agregas afichas principales lo seleccionas y le das aceptar. te sales de ahi te vas al incio del libro le pegas el nuevo modulo de visual basic(pesosMN) y lo cierras o utiliza alt+Q. despues vas a irte a guardar o guardar como: cambias el nombre le pones por asi decirlo : pesosMN. abajo de donde cambiaste el nombre esta el tipo de documento en que lo quieres guardar, dale clik a la casilla y se despliega una lista buscas en esa lista el nombre que diga: COMPLEMENTO DE EXCEL. Y LE DAS GUARDAR, automaticamente se guarda en c en una carpeta llamada complementos. y listo. AHORA abres un nuevo libro de excel te vas a la parte superior izquierda de tu pantalla le das clik al icono te vas a opciones de excel (aveces solo dice opciones)le das clik te vas a donde dice complementos( una vez en complementos hasta abajo hay una casilla que dice complementos de excel de las en LA CASILLA QUE DICE: IR, te abre una ventanita y ahi tiene que aparecer el nuevo complemento que creamos llamado pesosMN, si no aparece a simple vista le das examinar y escribes el nombre con el que guardaste el complemento. le das aceptar y listo ahora es usable en todos los libros que kieras abrir… sin nececidad de estar ingresando el modulo de nuevo.
      SUGERENCIA: solo no olvides de no borrar el complemento creado..si lo borras tienes que empezar de ceros.
      NOTA: si al abrir el libro de excel no te funciona, solo tienes que irte a opciones y añades el complemento que creamos..
      graciassss……

      • 827 furby noviembre 17, 2011 en 4:44 pm

        muchísimas gracias, me acabas de salvar de una talacha indescriptible… esto de ponerse al corriente con el software luego es contraproducente…

        Saludos

  688. 828 LU septiembre 23, 2011 en 2:34 pm

    HAY ME DA MUCHISIMA PENA PORQUE A PESARD E QUE AKI ESTAR SUPER EXPLICADO NO SE PORQUE FREGADOS NO ME SALE A MI YA LO HABIA HECHO ANTES CON LAS INDICACIONES Y SALIO PERFECTAMENTE PERO AHORA TENGO UNA NUEVA MAQUINA Y NO SE PUEDE MI OFICCE ES 2007 Y NO SE COMO GUARDAR LA MACRO O HABILITARLA PORFA AYUDENME NETA ME SUPER URGE EN MI TRABAJO LO SUPER OCUPO OJALA ME PUEDAN DECIR PASO POR PASO DESPUES DE QUE INGRESE LA MACRO EN EL VISUAL BASIC

    • 829 Enrique octubre 10, 2011 en 2:38 pm

      hola mira yo tuve el mismo problema pero espero y me explique bien: abres un libro de trabajo en blanco, le pegas el nuevo modulo de visual basic(pesosMN) y lo cierras o utiliza alt+Q. despues vas a irte a guardar o guardar como: cambias el nombre le pones por asi decirlo : pesosMN. abajo de donde cambiaste el nombre esta el tipo de documento en que lo quieres guardar, dale clik a la casilla y se despliega una lista buscas en esa lista el nombre que diga: COMPLEMENTO DE EXCEL. Y LE DAS GUARDAR, automaticamente se guarda en c en una carpeta llamada complementos. y listo. AHORA abres un nuevo libro de excel te vas a la parte superior izquierda de tu pantalla le das clik al icono te vas a opciones de excel (aveces solo dice opciones)le das clik te vas a donde dice complementos( una vez en complementos hasta abajo hay una casilla que dice complementos de excel de las en LA CASILLA QUE DICE: IR, te abre una ventanita y ahi tiene que aparecer el nuevo complemento que creamos llamado pesosMN, si no aparece a simple vista le das examinar y escribes el nombre con el que guardaste el complemento. le das aceptar y listo ahora es usable en todos los libros que kieras abrir… sin nececidad de estar ingresando el modulo de nuevo.
      SUGERENCIA: solo no olvides de no borrar el complemento creado..si lo borras tienes que empezar de ceros.
      NOTA: si al abrir el libro de excel no te funciona, solo tienes que irte a opciones y añades el complemento que creamos..
      graciassss……

  689. 830 ANGEL septiembre 23, 2011 en 3:08 pm

    POR FAVOR QUIE PODRIA AYUDARME, TENGO UNA DUDA ESTO, RESPECTO A COMO COLOCAR FECHAS A TRAVES DE FORMULA PERO NO COMO LA DE =HOY() ESA FORMULA ESTA MUY BIEN, MI PROBLEMA RADICA EN QUE QUIERO COLOCAR EL DIA, EL MES Y AL AÑO CADA UNO DE ELLOS EN DIFERENTES CELDAS EJEMPLO QUE EN UNA VAYA EL DIA EN OTRA EL MES Y OTRA EL AÑO. AGRADESCO SU AYUDA

    • 831 cfdsolution septiembre 23, 2011 en 3:29 pm

      Hola Angel, lo que puedes hacer es poner =HOY() en las tres celdas y darle un formato a cada una dando un click derecho sobre donde quieres que aparezca el dia dar click en la pestaña Numero y luego donde dice Categoria abajito en Personalizada y luego donde dice tipo pongale dd y aceptar, para el mes los mismos pasos y ahi vas a poner mmmm y para el año tambien los mismos pasos a ahi vas a poner aaa (Ejemplo dd = 01, d = 1, mm = 09 mmm = sep mmmm = septiembre, aa = 11 aaa = 2011, si pones dd mmm aaa te mostrara 01 en el, dia sep en el mes y 2011 en el año).
      Espero me explique y que te sirva. Saludos

      • 832 ANGEL septiembre 23, 2011 en 3:53 pm

        MUCHAS GRAXIAS POR LA AYUDA CLARO Q ME SIRVIO Y SE LO AGRADESCO, AHORA MIL DISCULPAS SE ME OLVIDO PREGUNTAR QUE SE ESTE FORMATO HACE Q CAMBIE EL AUTOMATICAMENTE DIARIO LOS DIAS?……….
        GRAXIAS POR SU APOYO
        MIL GRAXIAS……

    • 833 gchable septiembre 23, 2011 en 5:39 pm

      Ya probaste con =MES(HOY()) y =AO(HOY())

  690. 834 cfdsolution septiembre 23, 2011 en 4:59 pm

    Afirmativo debe de cambiarse automaticamente.

  691. 836 ANGEL septiembre 24, 2011 en 10:41 am

    ok graxias hoy lo acabo de comprobar muchasgraxias
    por su ayuda me ha servido demasiado.

    al igual q agradesco su ayuda al quien me resulva esta duda:
    como puedo hacer para que en una factura se descuente mis productos que tengo en almacen o existencia!!!
    graxias a quein m pueda ayudar

  692. 838 Moises septiembre 28, 2011 en 10:21 am

    Me ha servido y gustado mucho el aporte

    Muchas gracias por compartirlo

  693. 839 johana octubre 3, 2011 en 11:29 am

    COMO CONVIERTO ESTO : En la celda A1 se pagará 100 soles menos el descuento del 10% de 100 soles….. A EXCEL???

  694. 840 SELENE octubre 4, 2011 en 4:25 pm

    SI QUIERO ELIMINAR “SON:” KE TENGO KE HACER?

  695. 841 Anónimo octubre 4, 2011 en 5:41 pm

    ve gracias por la formula me sirvio d emucho gracias ois y para los colombianos y de mas que necesiten quitar lo de los 00 y 100 y demaas copien este en la ultima parte de la formula y borren la anterior

    PesosMN = “SON: (” & PesosMN & IIf(tyCantidad > 1, ” PESOS “, ” PESO “)
    End Function

  696. 842 Jesús Sánchez Sosa octubre 4, 2011 en 10:19 pm

    Se agradese la aportación que nos haces, mil gracias.

  697. 843 JOSÉ APH octubre 5, 2011 en 7:48 am

    Oigan, como le hago para que en excel 2010, esta función esté como todas las demás que ya trae al ser instalada. (Que aparezca no como definida por el usuario, sino como las que trae de fábrica)

    • 844 Enrique octubre 10, 2011 en 2:35 pm

      hola mira yo tuve el mismo problema pero espero y me explique bien: abres un libro de trabajo en blanco, le pegas el nuevo modulo y lo cierras o utiliza alt+Q. despues vas a irte a guardar o guardar como: cambias el nombre le pones por asi decirlo : pesosMN. abajo de donde cambiaste el nombre esta el tipo de documento en que lo quieres guardar, dale clik a la casilla y se despliega una lista buscas en esa lista el nombre que diga: COMPLEMENTO DE EXCEL. Y LE DAS GUARDAR, automaticamente se guarda en c en una carpeta llamada complementos. y listo. AHORA abres un nuevo libro de excel te vas a la parte superior izquierda de tu pantalla le das clik al icono te vas a opciones de excel (aveces solo dice opciones)le das clik te vas a donde dice complementos( una vez en complementos hasta abajo hay una casilla que dice complementos de excel de las en LA CASILLA QUE DICE: IR, te abre una ventanita y ahi tiene que aparecer el nuevo complemento que creamos llamado pesosMN, si no aparece a simple vista le das examinar y escribes el nombre con el que guardaste el complemento. le das aceptar y listo ahora es usable en todos los libros que kieras abrir… sin nececidad de estar ingresando el modulo de nuevo.
      SUGERENCIA: solo no olvides de no borrar el complemento creado..si lo borras tienes que empezar de ceros.
      NOTA: si al abrir el libro de excel no te funciona, solo tienes que irte a opciones y añades el complemento que creamos..
      graciassss……
      asi queda anexado a tu excel..

  698. 845 Rickydj octubre 7, 2011 en 1:22 pm

    millon y medio de gracias!

  699. 846 Mario octubre 8, 2011 en 8:33 pm

    Muchisimas gracias por este gran aporte!

    Anduve buscando por otros lugares y solo el tuyo me funcionó perfectamente.

    Bendiciones para ti.

  700. 847 Anónimo octubre 9, 2011 en 8:12 pm

    gracias por la invaluable ayuda.. a todos los que hacen que esta red sea un apoyo diariamente… agradecimientos a todos.

  701. 848 ANGEL octubre 10, 2011 en 9:13 am

    una ? a la audiencia como con vertir la fecha en texto por ejemplo tengo en diferentes celdas en una tengo 10 en otra 10 (octubre) y en otra 2010 nada mas que me aparece 10 y quiero q aparesca completo como puedo hacelo!!!!

  702. 850 Anónimo octubre 10, 2011 en 1:07 pm

    Gracias por este gran aporte, en verdad es bueno saber que existe gente tan inteligente y tan sencilla como para compartir sus conocimientos con los demas….. felicidadess

    sirve de maravilla

  703. 851 Enrique octubre 10, 2011 en 1:08 pm

    Gracias por este gran aporte, en verdad es bueno saber que existe gente tan inteligente y tan sencilla como para compartir sus conocimientos con los demas….. felicidadess

    sirve de maravilla

  704. 852 Anónimo octubre 11, 2011 en 3:41 pm

    SOY PROFR. JULIO CESAR CARREÑO BECERRA, AGRADEZCO ESTE APORTE, REALMENTE NO TENIA IDEA DE COMO REALIZARLO, LO PROBARE Y POSTERIOR HARÉ COMENTARIOS O SUGERENCIAS, TODO EN PRO DE MEJORAR. GRACIAS DE NUEVO

  705. 853 Luis octubre 11, 2011 en 6:07 pm

    Que buen aporte, quisiera que me ayudaran para poder identificar si solo hubieran centavos, ej. 0.75; en mi caso soy de Guatemala (nuestra moneda es el Quetzal) y con las modificaciones que hice sale “Quetzal con 75/100″, pero dado el caso que solo son centavos para que pudiera decir “75 centavos”, espero haberme explicado, Agradezco mucho la ayuda que puedan brindarme.

  706. 854 javier octubre 13, 2011 en 8:26 pm

    simplemente chingon, llevo años facturando en excel y cada vez que cambio la cantidad tenia que cambiar la leyenda…gracias

  707. 855 Carola octubre 18, 2011 en 9:33 pm

    Excelente!!!!!! Muhas gracias por compartirlo!

  708. 856 Vivi octubre 21, 2011 en 1:52 pm

    Muchas gracias por tu explicación y por el tiempo que te tomas en ayudarnos , fue de muchísima utilidad tu código aunque me queda una pregunta. Puedo de alguna manera quitar los paréntesis ?

  709. 858 Silvi octubre 21, 2011 en 4:11 pm

    Muchas gracias a no saben cuanto me sirvio esta pagina

  710. 859 PAPICHULO octubre 21, 2011 en 4:21 pm

    amigo Gonzalo muchas felicidades por tu aportacion, tendras algun portal donde pueda ver todas tus aportaciones de MACROS.

    tengo una duda como puedo extraer los datos numericos y alfanumericos de una celda
    eje en “A1″ tengo RF8965 y quiero separar en “A2″ RF y en “A3″ 8965
    quiero comentarte que los datos alfanumericos pueden ser hasta 4 digitos y los numericos son maximos 10 digitos

  711. 860 Anónimo octubre 25, 2011 en 2:39 pm

    Que gran explicación y aportación en verdad ¡Gracias!

  712. 861 FRANCISCO JAVIER octubre 26, 2011 en 8:03 am

    Gonzalo, Mil Gracias por su valiosos aporte

    Saludos,

    FRANCISCO

  713. 862 César Juarez octubre 27, 2011 en 1:02 pm

    GRACIAS AL AUTOR DE ESTE CODIGO LO PROBE Y ME ESTA FUNCIONANDO BIEN, VOY A PROBAR CON MAS CANTIDADES A VER QUE PASA.

    DAD DE GRACIA LO QUE DE GRACIA HAS RECIBIDO…

    CÉSAR JUÁREZ

  714. 863 César Juarez octubre 27, 2011 en 1:04 pm

    GRACIAS AL AUTOR DE ESTE CODIGO LO PROBE Y ME ESTA FUNCIONANDO BIEN, VOY A PROBAR CON MAS CANTIDADES A VER QUE PASA.

    DAD DE GRACIA LO QUE DE GRACIA HAS RECIBIDO…

    CÉSAR JUÁREZ

    Guate 27-10-2011

  715. 864 isack garavito octubre 27, 2011 en 3:49 pm

    FUNCIONANDO AL CIEN MUCHAS GRACIAS

  716. 865 Anónimo octubre 28, 2011 en 11:06 am

    Muchas Gracias!!! me fue de mucha utilidad ;).

  717. 866 Anónimo octubre 31, 2011 en 7:54 pm

    Chidisimo,

    Gracias!!!

  718. 867 Anónimo noviembre 2, 2011 en 7:07 pm

    GRACIAS GRACIAS GRACIAS

  719. 868 Anónimo noviembre 6, 2011 en 10:03 pm

    JAVIER GONZALEZ
    EXCELENTE MACRO
    FUNCIONA BIEN

  720. 869 BRYAN noviembre 7, 2011 en 7:57 pm

    Hola amigo, muchas gracias por tu aportación, me sirvió de micho, eres Genial, grax, suerte buen día.

  721. 870 claudia noviembre 8, 2011 en 11:30 am

    muchisimas gracias lo habia intentado con otrso pero nunca me funcionaron, este esta excelente. claudia moraels

  722. 871 Humberto Torres noviembre 8, 2011 en 1:15 pm

    Gustavo:

    Por favor explicame si se debe hacer algun procedimiento adicional para excel 2010.

  723. 874 Anónimo noviembre 10, 2011 en 1:32 am

    Muchas gracias por la respuesta que dejas en la red, fue de gran ayuda.
    Saludos,

  724. 875 LORD DRAKO noviembre 10, 2011 en 11:09 am

    HOLA MUY UENA TU PUBLICACION, SE PUEDE HACER QUE SOLO APARESCA ( VEINTISIETE MIL TRESCIENTOS CINCO PESOS 95/100 M.N.) Y SE LE QUITE “SON:”
    GRACIAS

    • 876 ERIKA diciembre 13, 2011 en 6:57 pm

      hola si es que ya te respondieron tu duda plis pasamela no xfa

      • 877 Anónimo diciembre 14, 2011 en 7:07 pm

        Busca en los últmos renglones esto.-
        PesosMN = “SON: (” & PesosMN & IIf(tyCantidad > 1, ” PESOS “, ” PESO “) & Format(Str(lyCentavos), “00″) & “/100 M.N.)”
        End Function
        Ahora, cambia a.- PesosMN = “(” & PesosMN & IIf(tyCantidad > 1, ” PESOS “, ” PESO “) & Format(Str(lyCentavos), “00″) & “/100 M.N.)”

        A mi me fincionó.

  725. 878 Junatan HUrtado noviembre 10, 2011 en 3:07 pm

    Excelente, Los felicito… Para Bolívares..

    Function Bolivares(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
    Bolívares = lcBloque
    Case 2
    Bolívares = lcBloque & IIf(lnBloqueCero = 3, Null, ” MIL”) & PesosMN
    Case 3
    Bolívares = lcBloque & IIf(lnPrimerDigito = 1 And lnSegundoDigito = 0 And lnTercerDigito = 0, ” MILLON”, ” MILLONES”) & PesosMN
    End Select
    lnNumeroBloques = lnNumeroBloques + 1
    Loop Until lyCantidad = 0
    Bolívares = “SON: (” & PesosMN & IIf(tyCantidad > 1, ” PESOS “, ” PESO “) & Format(Str(lyCentavos), “00″) & “/100 M.N.)”
    End Function

  726. 880 Anónimo noviembre 12, 2011 en 5:39 am

    MUCHISIMAS GRACIASSS ES REALMENTE AGRADABLE Q ALGUIEN SE TOME LA MOLESTIA DE EXPLICAR,,, MIL GRACIASS… ME DECLARO TU FAN….

  727. 881 Anónimo noviembre 15, 2011 en 10:26 am

    LO HICE PERO NO LO GUARDO Y AL DIA SIQUIENTE NO ME FUNCIONA

  728. 882 Anónimo noviembre 15, 2011 en 11:17 am

    Mil Gracias por la aportacion!!!

    Buenisima!! :)

  729. 883 JN noviembre 17, 2011 en 3:38 am

    te has de haber cansado de leer lo que te escriben, espero leas el mio…

    GRACIAS estuvo padre, felicidades por compartir tus conocimientos con los mortales (ja! y hacia gala de utilizar bien el excel)

    saludos

  730. 885 Anónimo noviembre 17, 2011 en 1:31 pm

    Mib hermano gracias muy buen aporte :)