EXCEL: Convertir números A Letras
Enviado por b3588 • 4 de Junio de 2013 • 547 Palabras (3 Páginas) • 519 Visitas
A diferencia de otros Articulos relacionados este tiene diferencia que es a "Quetzales".
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.
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).
Como puede versen en la imagen de abajo, el editor de VBA, 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:
En la sección en blanco que aparece deberemos pegar el código que te mostramos a continuación.
Function Quetzal(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",
...