jueves, mayo 03, 2007

Función números a letras en Excel en español - versión corregida

He recibido algunas y justificadas observaciones en relación a la nota Como convertir números en palabras en Excel en Español :

- dado el número 1250000 (un millón doscientos cincuenta mil) la función da el resultado "un millones doscientos….", en lugar de "un millón…";

- en lugar de "un millón de pesos", la función da como resultado "un millón pesos"

- el número 20 daba como resultado "veinti pesos" en lugar de "veinte pesos"

- el número 100 daba como resultado "ciento pesos" en lugar de "cien pesos"


Aquí pueden descargar la versión mejorada de la función "números a letras" (SpellNumber2).

05-05-2007: nueva corrección de la rutina (1.30 aparece ahora como "uno con treinta centavos" y no como "uno con treinta y centavos")

Y otra más. Ahora 1000000 da "un millón de pesos" y 1100000 da "un millón cien mil pesos"



Technorati Tags:

27 comentarios:

  1. Hola, no hay 2 sin 3. Para el Nro. 1.310.410 sale xxxx... de pesos. Yo en algún momento hice una rutinita en assembler y en aquel momento me convino poner la moneda delante de la leyenda por ej. 240.000 (Pesos doscientos cuarenta mil con xx/ctvs.) y creo que está permitido poner en números los centavos, (para hacer más corta la leyenda). Ya vi que te comentaron que salía "Y" cuando era exactamente 30,40,50,etc... Un gusto colaborar y gracias por tu aporte desinteresado.A.Brunetti.

    ResponderBorrar
  2. Hola y gracias por la observación. En las próximas horas publicaré la versión corregida.
    Complicado el castellano, no?

    ResponderBorrar
  3. Gracias Jorge, un gusto que alguien tome las cosas con tanto entusiasmo ... Un saludo de A.Brunetti.

    ResponderBorrar
  4. Que tal un saludo desde Mexico, Jorge me gustaria enviarte un archivo para que evalues otra opcion de poner "numeros a letras"
    Podrias indicarme el mail?

    Saludos

    ResponderBorrar
  5. Hola Jorge, disculpame la ignorancia pero no tengo ni idea de como poner a funcionar este maravilloso archivo, no se nada de VBA. Me podrias explicar por favor?
    Gracias
    angelamesa123@hotmail.com

    ResponderBorrar
  6. Hola,
    en la primer nota de la serie "números a letras" hay instrucciones al respecto.

    ResponderBorrar
  7. Jorge.
    Yo tengo una versión de OOo (OpenOffice.org) de la macro pero las cantidades las saca en forma distinta, por ejem:
    $1,250.35 lo escribe como:
    MIL DOSCIENTOS CINCUENTA PESOS 35/100 MN.
    Me gustaría saber si te interesa que te envie la macro para que tu la adaptes a VBasic (escrita en Open Basic o StarBasic) ya que yo no puedo por mi falta de conocimientos.

    Gracias por tu aportación y un abrazo desde Veracruz México.

    Luis C. Suárez

    ResponderBorrar
  8. Hola Luis
    creo que la versión adaptada para México que publiqué te servirá.
    La versión para México es un aporte del lector Javier Reséndiz.

    ResponderBorrar
  9. Hola Señor Jorge, disculpe mi ignorancia pero estoy muy interesado en aprender a usar esta función pero no tengo ni idea de como usar este maravilloso archivo, no se nada de VBA. Me podrias explicar por favor?
    Gracias
    johnnym79@gmail.com

    ResponderBorrar
  10. Hola don Jorge soy de chile e intentado con sus formulas me han servido de mucho, pero cuando coloque la ultima que envio de numeros a letras me aparecen con centavos los cuales aca en mi pais no se usan los centavos. Me explico $ 120.000 (ciento veinte mil pesos con cero centavos) yo pienso que el con cero centavos esta de mas pero yo por mi falta de conocimiento no e podido borrar esa parte.
    Favor si me pudiera ayudar, se lo agradeceria.

    juan.medinac@gmail.com

    ResponderBorrar
  11. Hola Juan
    tengo planeado publicar una versión con todas los ajustes y correcciones que han ido sugiriendo mis lectores. Eso incluirá lo que pides.
    Gracias por leer el blog

    ResponderBorrar
  12. Estimado, Jorge.

    Gracias por tu ayuda.

    Utilicé la modificación para México de Javier Reséndiz. Aunque me está ayudando, no me sirve cuando la cantidad contiene centavos (convierte la cifra a millones y pone 00/100 m.n.) Le escribo para preguntar si es posible contar con una versión que incluya centavos también.

    Gracias.

    juan_lomeli@hotmail.com

    ResponderBorrar
  13. Es probable que tu problema tengo que ver con el tipo de separadores tienes definidos en tu sistems (Excel te permite definir punto o coma como separador de miles).
    Fijate en las definiciones regionales del Windows.

    ResponderBorrar
  14. Hola Jorge, gracias por publicar tus conocimientos, las actualizaciones que tienen los archivos cuentan con la extensión .bas, pregunto, con qué programas se abren.
    Recibe saludos desde Guatemala, la tierra del Quetzal.

    HRecinos

    ResponderBorrar
  15. Hola

    son archivos de texto que te permiten importar el código de la macro directamente en el editor de Vba.
    También puedes abrirlo con cualquier editor de texto (como el Notepad) y copiar el código en un módulo del editor de Vba. En ese caso no copies la primer línea (que empieza con Attribute VB_Name). Si tienes definida la opción Option Explicit para el editor de Vba no copies tampoco la segunda línea.

    ResponderBorrar
  16. Hola Jorge, mil gracias por publicar y enriquecer el código de esta macro. Me ha sido muy útil. Yo soy de México, así que le hice las adecuaciones necesarias para escribir las cantidades como usamos aquí... después me di cuenta que Javier Reséndiz ya había hecho la adaptación :) .... bueno, de cualquier forma creo que hay un detalle que no han corregido y es el uso de billones: en español no se dice billón, sino mil millones... yo hice el cambio aunque creo que es poco probable que usemos cualquiera de estas cantidades :) Referencias en Wikipedia al respecto se encuentran en: http://es.wikipedia.org/wiki/Billón y en http://es.wikipedia.org/wiki/Millardo

    ResponderBorrar
  17. Saludos Jorge D.

    Te agradezco por tan valiosa informacion y te cuento que me sirvio, aunque me tome la libertad de corregirle algunos pequeños detalles que no me gustaban. Le quite la parte de los centavos, ya que aquì en colombia no es muy frecuente su uso. Otra parte que no me gusto, es que cuando ingresas un valor entre 1000 y 2000, el codigo da como resultado el siguiente ejemplo: 1500 (un mil quinientos pesos), yo lo ajuste para que de 1500(mil quinientos pesos), lo cual se adapta mejor para Colombia. Otro detalle, cuando ingresas 1500000, el resultado es un millon quinientos mil de pesos. Yo lo ajuste para que de: 1500000 (un millon quinientos mil pesos), que creo que es mejor. Igual ocurria con 3500000 (tres millones quinientos mil de pesos)...te dejo entonces el enlace para quien quiera verlo y llevarselo... Te comento, ESTOS AJUSTES SON BUENOS PARA COLOMBIA. ASI QUE AHI QUEDA A DISPOSICION...SALUDOS DESDE LA CAPITAL DE LA MONTAÑA (MEDELLIN).

    https://docs.google.com/Doc?docid=0AUYy1n4vqzA8ZGN0cmNmYnhfMT

    DE: KAMUS

    ResponderBorrar
  18. Gracias por las correcciones y por compartir. Feliz 2010

    ResponderBorrar
  19. Saludos de Kamus, hago un enlace publico para ver la informacion que deseo reportar, este es el nuevo enlace:

    http://docs.google.com/View?id=dctrcfbx_18dz66r5ct

    ResponderBorrar
  20. Saludos amigo existe la posibilidad de usar una costante de texto en una celda mas un acumulador me explico: Quiero colocar en una celda un texto como por ejemplo pagina y su caracter numeral, osea pagina 1 y luego cuando la pegue en la celda de otra pagina me pueda colocar pagina 2 y asi sucesivamente. Ojo no pie de pagina. Gracias y disculpe las molestias causadas..

    ResponderBorrar
  21. La posibilidad existe, pero tienes que usar un evento (macro) para actualizar el numerador de las páginas.

    ResponderBorrar
  22. No puedo descargar el archivo num_pal_3, ¿puedes subirlo a otro lugar?

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.