martes, 02 de diciembre de 2008
Ayúdanos a crecer, haz NeoTeo tu página de inicio RegistrarseIniciar sesión

Páginas:

EXCEL: Convertir números a letras

Por: Ariel Palazzesi  @  lunes, 30 de junio de 2008  Nota vista 23617 veces

Hoy te proponemos escribir una “macro” para Microsoft Excel que te permitirá expresar números como su equivalente en letras. Se trata de una función muy buscada y que no viene “de serie” en la planilla de cálculo. En NeoTeo te mostraremos, paso a paso, como puedes escribirla tu mismo.

¿te interesa?
100 -17
117 votos

No vamos a explicar aquí el funcionamiento detallado de la macro, por que lo abordaremos en el tutorial de VB. Basta con saber que se divide en dos funciones. Una de ellas (“num2letras”) convierte un número comprendido entre 0 y 999 en su equivalente en letras (“cero” a “novecientos noventa y nueve”). La otra, a la que hemos llamado “num2let” se encarga de llamar las veces que sea necesaria a la primera de ellas para “armar” el texto correspondiente al importe.

Para utilizarla, basta con escribir en una celda cualquiera de nuestra hoja de cálculo (aquella en que queremos aparezca el importe en letras) algo parecido a lo siguiente:

Escribimos en la celda en que queremos aparezca el importe en letras.

Al hacerlo, en el lugar que hemos escrito la fórmula aparecerá el importe tal como puede verse en rojo.

Por supuesto, es mucho más interesante hacer algo como lo que se ve en esta captura de pantalla:

Podemos utilizar num2let() dentro de otra función.

Ya que de esa manera podemos convertir a letras el valor de otra celda, que puede ser el resultado de algún cálculo más o menos complejo. La función “Concatenar” simplemente le agrega el texto “Son” al principio de la cadena.

Siguiente
El código fuente
Anterior
La macro
Artículo Siguiente
ChemBots, los “robots líquidos” de DARPA
Artículo Anterior
Más trucos para acelerar Windows Vista
CopyRight
Prohibida su copia total con o sin fines comerciales. Copias parciales deben citar la fuente.

 

URL Trackback para esta noticia:
Votos: 1 de 1
jeremotas
jeremotas
jeremotas
30/06/2008
15:45:29
#1   Ariel, me parece que la función que generaste está buena como ejemplo, pero si no vas a explicar el funcionamiento deberías hacerla para todos los valores representables posibles (que no son tantos como parece).
     Responder 
Votos: 0 de 0
Ariel Palazzesi
Ariel Palazzesi
Ariel Palazzesi
30/06/2008
15:50:03
#1   Hola amigo!
Es que la funcion sirve para cualquier valor!
Funciona desde 0.01 euro a 999.999.99 euros, más que suficientes para cualquier uso. Si necesitas valores superiores al millon de euros, puedes modificar a num2let() para que haga un llamado mas a la otra funcion, y podrias utilizar valores de hasta 1000 millones. (casi que no puedo imaginar tanto dinero junto.. :P )

Saludos!
     Responder 
Votos: 0 de 2
wengpeng
wengpeng
wengpeng
03/07/2008
14:57:12
#1   Vi tu plantilla, e intente modificar a Num2let() pero como macro solo me sale ordenar concepto y la macro no esta desarrollada, como modifico la función para cambiar Euro por Dólares. Gracias


       
Votos: 2 de 4
Federico Reggiani
Federico Reggiani
Federico Reggiani
02/07/2008
15:05:34
#1   Recuerden habilitar los macros en Excel, sino no funciona.
     Responder 
Votos: 0 de 0
Jan
Jan
Jan
06/07/2008
20:14:33
#2   Hola Ariel,
la macro funciona a la perfeccion unicamente hay un pequeño fallo que es que cuando escribes "1234" pone "un mil doscientas treinta y cuatro". ¿Como podria hacer para suprimir el "un", de la expresion? Gracias
     Responder 
Votos: 0 de 0
Hugo Hernandez
Hugo Hernandez
Hugo Hernandez
11/07/2008
18:38:10
#1   Hola Ariel mi nombre es Hugo y soy contador, quiero decirte que la expresión "un mil" es correcta y más cuando se habla en términos monetarios, sólo que tenemos la mala costumbre de omitir el "un" en los textos y en el habla.

Si puedes corrobora lo que te digo en algún billete de 1,000.00, incluso cuando son dollares dice "one tousand dollars" (un mil dólares).

No hay que hacer esa corrección a la macro.
     Responder 
Votos: 0 de 0
Ariel Palazzesi
Ariel Palazzesi
Ariel Palazzesi
11/07/2008
18:54:33
#1   Hola Hugo!
Gracias por la aclaración.

Saludos.
       
Votos: 3 de 3
CHEOV52
CHEOV52
CHEOV52
09/08/2008
20:51:07
#3   Esta bastante bien pero necesito que me ponga la cantidad en pesos, como le hago??????
     Responder 
Votos: -1 de 1
Rosamarya3108
Rosamarya3108
Rosamarya3108
09/09/2008
2:45:38
#4   Hago todos los pasos que me aparecen en este tutorial y no logro nada cuando escribo la formula me aparece el mensaje NOMBRE con unos signos.Ayuda por fa
     Responder 
Votos: 0 de 0
rosita
rosita
rosita
12/09/2008
20:00:06
#5   no puedo ver el resultado, no me funciona, he habiltado las macros y nada
gracias
rosita
     Responder 
Votos: 0 de 0
Abraham
Abraham
Abraham
24/09/2008
21:53:39
#6   Chequen este complemento
Funciona para pesos y dolares hasta 100 digitos
http://galeon.com/excelmacros/NumeroALetras.xla
     Responder 
Votos: 0 de 0
levi
levi
levi
20/10/2008
19:45:50
#7   Como estamos???
Una pregunta.
Necesitaria saber como puedo hacer para poder colocar varios filtros desplegables en una misma columna en excel
     Responder 
Votos: 0 de 0
david uribe
david uribe
david uribe
30/10/2008
0:28:31
#8   Hola amigos, saludos a todos, les escribo desde la hermosa República de Colombia, es un placer comentar con ustedes acerca de la "macro" (coloco las comillas porque en realidad es una función o fórmula para los cálculos de excel y que no viene incluida en él) de la que escriben ustedes para convertir una cantidad expresada en dígitos con su correspondiente valor en texto.

Debido a mi trabajo, donde de manera corriente hay que llenar planillas de excel, y el valor final hay que expresarlo en letras, decidí - al notar la falta de esta función en excel - escribirla yo mismo. A medida que escribía el código noté fallas en él, cuando lo probé, noté fallas como las que describen:

** 1236 = "Un mil doscientos treinta y seis...", al amigo Hugo Hernández le comento lo siguiente: "quiero decirte que la expresión "un mil" es correcta y más cuando se habla en términos monetarios, sólo que tenemos la mala costumbre de omitir el "un" en los textos y en el habla": en Colombia es de uso corriente decir "mil doscientos treinta y seis pesos" y no "un mil...", si no lo creen busquen y verán que nuestros billetes de $1.000 emitidos por el Banco de la República así lo escribe en ellos. Esta falla la corregí a punta de "fuerza bruta", en este momento el código lo estoy mejorando para hacerlo más compacto (aclaro que en mis momentos de ocio - que no son muchos por cierto -, debido al trabajo). Y aclaro también mi expresión "fuerza bruta" porque mis conocimientos de programación son mínimos y lo poco que sé lo he aprendido yo mismo, gracias a todo el contenido que se encuentra en Internet.

En fin, si alguien desea le puedo enviar el código que escribí y que funciona con cantidades que van de 1 hasta 999.999'999.999.99 (En Colombia se transcribe: "Novecientos Noventa y Nueve Mil Millones Novecientos Noventa y Nueve Pesos con Noventa y Nueve Centavos MLCTE"), y de paso le puedo enviar un documento para que ingrese la citada función a las ya incluidas en excel.

Con aprecio,

David M. Uribe

dav_7236@hotmail.com
     Responder 
Votos: 1 de 1
BELEN
BELEN
BELEN
31/10/2008
21:57:25
#1   david uribe yo si ocupo que me des toda la formula te lo agradeceria si me la mandas por este mismo medio gracias
     Responder 
Votos: 0 de 0
Jaime H Daza
Jaime H Daza
Jaime H Daza
13/11/2008
11:56:59
#2   Hola david, soy Igualmente un Colombiano mas, pero haciendo patria desde el exterior, trabajo en Guinea Ecuatorial, Africa, me gustaria tener tus instrucciones para convertir en excel numeros a letras, seria de gran ayuda para mi labor como contable en la empresa con la que trabajo, si te es posible me envias la instruccion para cambiarle" pesos " por " Fcos Cfas " la moneda corriente del africa central.
Mi E-mail travesuras58@hotmail.com
jaimehdaza@gmail.com

Un abrazo de paisano.
Agradecido:


JAIME HUGO DAZA PAZ
     Responder 
Votos: 0 de 0
david uribe
david uribe
david uribe
31/10/2008
21:19:05
#9   Hola a todos de nuevo, recibí una corrección a mi comentario de ayer, efectivamente, la cantidad 999.999'999.999 se transcribe "novecientos noventa y nueve mil novecientos noventa y nueve millones novecientos noventa y nueve mil novecientos noventa y nueve pesos MLCTE".

Atte.

David M. Uribe
     Responder 
Votos: 0 de 0
BELEN
BELEN
BELEN
31/10/2008
22:19:04
#10   porfa si la ocupo es algo urgente
     Responder 
Votos: 0 de 0
perafanu
perafanu
perafanu
06/11/2008
17:41:37
#11   Hola quien me podría decir que puedo hacer:
Quiero convertir números a letras en excel 2008 de Mac los necesito para un formato de cheques y facturación que me recomiendan hacer.

Perafanu.
     Responder 
Votos: 0 de 0
omar
omar
omar
12/11/2008
21:19:28
#12   Buenas tardes Sres. me confirmar bien como son los pasos para que la cifra de un total la pueda escribir en letras porque le busque de pie a pa pero no le encuentro la vuelta habra alguien que me explique desde el comienzo para ver si falle en algun paso desde ya gracias
     Responder 
Votos: 0 de 0
martin
martin
martin
19/11/2008
22:14:48
#13   hola soy martin, oye un favorzaso mira soy contador, pero quiero covertir un archivo de excel a texto, pero no se como utilizar y aplicar el macro para poder realizar este proceso, pero me puedas ayudar muchas gracias
     Responder 
 
 
Datos  Login Registrarse
Usuario
   
Email
Website
 
Nuevo comentario:


Tags HTML permitidos: br
 

 

NeoTeo