sábado, 06 de septiembre 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 11573 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?
43 -7
50 votos
Una macro para Excel.

Todos los que utilizamos la planilla de cálculo de Microsoft en algún momento nos hemos topado con la necesidad de convertir importes expresados como números (“138.55 €”) a su equivalente en letras (“ciento treinta y ocho euros con cincuenta y cinco centavos.”).

Este tipo de conversión es casi indispensable cuando utilizamos Excel en labores relacionadas con la confección de facturas, presupuestos, liquidación de recibos de haberes, trabajos contables, emisión de comprobantes con importes o cualquier otra ligada al manejo de importes. Aunque no siempre sea obligatorio declarar los importes con ese formato, el hacerlo le da más “seriedad” a nuestros informes.

Excel, al igual que los demás integrantes de la suite Microsoft Office, permite la construcción de macroinstrucciones sumamente complejas, utilizando un lenguaje llamado Visual Basic para Aplicaciones (o VBA), que, como su nombre lo indica, es muy similar al Visual Basic.

Aprovechando lo que hemos aprendido en nuestro tutorial sobre Visual BASIC 2005, en especial lo que se refiere a las instrucciones de control de flujo del programa, podemos escribir una macro que realice la conversión mencionada en Excel.

Escribiendo la macro
Para escribir una macro, necesitamos en primer lugar abrir el editor de VBA que tiene incluido Excel. Para ello, como puede verse en la figura siguiente, vamos al menú principal de la aplicación y desde allí seleccionamos la opción “Herramientas”, luego “Macro” y del submenú que se abre hacemos clic en “Editor de Visual Basic”. (ALT-F11 realiza la misma acción).

ALT-F11 realiza la misma acción.
Editor de VBA.

Como puede verse en la imagen de la derecha, el editor de VBA, que se parece mucho a lo visto en nuestro tutorial de VB, propone cuatro ubicaciones para (“Hoja1”, “Hoja2”, “Hoja3” y “ThisWorkbook”) el código que vamos a escribir.

Le damos doble clic a la opción “ThisWorkbook”, y el editor tomará este aspecto:
 

Listos para comenzar a trabajar.

En la sección en blanco que aparece deberemos pegar el código que te mostramos al final de este artículo, o descargar esta planilla de ejemplo.

Siguiente
Utilizando num2let()

Artículo Siguiente
Evento Blog España 2008
Artículo Anterior
Las zapatillas de “Regreso al Futuro II”
CopyRight
Prohibida su copia total con o sin fines comerciales. Copias parciales deben citar la fuente.

 

URL Trackback para esta noticia:
Votos: 0 de 0
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 0
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: 3 de 3
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 
 
 
Datos  Login Registrarse
Usuario
   
Email
Website
 
Nuevo comentario:


Tags HTML permitidos: br
 
 
NeoTeo


 

 

Revista NeoTeo

Autores