ESTE MACRO TE SIRVE PARA QUE CUANDO ESCRIBAS UN NUMERO EN UNA CELDA DE EXCEL ESTE TE APAREZCA CON EL FORMATO DE TEXTO. EJEMPLO SI ESCRIBES EN LA CELDA A1 =1458659.56 EL RESULTADO SERA 1,458,659.56 (CON FORMATO DE NUMERO Y SEPARADOR DE LISTAS) ESTE MACRO TE AYUDARA ESCRIBIENDO LO SIGUIENTE =PESOS(1458659.56) Y EL RESULTADO SERA UN MILLON CUATROCIENTOS CINCUENTA Y OCHO MIL SEISCIENTOS CINCUENTA Y NUEVE PESOS 56/100 M.N. EL CUAL SE PUEDE AJUSTAR O JUSTIFICAR CON EL COMANDO DE EDICION O PROPIEDADES DE TEXTO DE MUCHAS FORMAS CODIGO VISUAL BASIC Attribute VB_Name = "Módulo1" Public Unidades(16), Decenas(9), Centenas(10) Sub INICIO() PESOS (9099999.99) End Sub Function PESOS(CANTIDAD) CCANTIDAD = Str(Format(CANTIDAD, "00.00") CCANTI = Str(Fix(CANTIDAD)) CCANTI = Right(CCANTI, Len(CCANTI) - 1) Unidades(0) = "" Unidades(1) = "UN" Unidades(2) = "DOS" Unidades(3) = "TRES" Unidades(4) = "CUATRO" Unidades(5) = "CINCO" Unidades(6) = "SEIS" Unidades(7) = "SIETE" Unidades(8) = "OCHO" Unidades(9) = "NUEVE" Unidades(10) = "DIEZ" Unidades(11) = "ONCE" Unidades(12) = "DOCE" Unidades(13) = "TRECE" Unidades(14) = "CATORCE" Unidades(15) = "QUINCE" Unidades(16) = "DIECI" Decenas(0) = "" Decenas(1) = "VEINTE" Decenas(2) = "TREINTA" Decenas(3) = "CUARENTA" Decenas(4) = "CINCUENTA" Decenas(5) = "SESENTA" Decenas(6) = "SETENTA" Decenas(7) = "OCHENTA" Decenas(8) = "NOVENTA" Decenas(9) = "VEINTI" Centenas(0) = "" Centenas(1) = "CIEN" Centenas(2) = "DOSCIENTOS" Centenas(3) = "TRESCIENTOS" Centenas(4) = "CUATROCIENTOS" Centenas(5) = "QUINIENTOS" Centenas(6) = "SEISCIENTOS" Centenas(7) = "SETECIENTOS" Centenas(8) = "OCHOCIENTOS" Centenas(9) = "NOVECIENTOS" Centenas(10) = "CIENTO" If InStr(CCANTIDAD, "." = 0 Then CDECIMAL = "00/100 M.N." Else If Len(Mid(CCANTIDAD, InStr(CCANTIDAD, "." + 1)) = 1 Then CDECIMAL = Mid(CCANTIDAD, InStr(CCANTIDAD, "." + 1) + "0/100 M.N." Else CDECIMAL = Mid(CCANTIDAD, InStr(CCANTIDAD, "." + 1) + "/100 M.N." End If End If PESOS = LETRAS(CCANTI, 9, PESOS) If Len(PESOS) <> 0 Then If Len(CCANTI) = 7 And Val(Left(CCANTI, 1)) = 1 Then PESOS = PESOS + " MILLÓN" Else PESOS = PESOS + " MILLONES" End If End If CCANTI = Right(CCANTI, 6) PESOS = LETRAS(CCANTI, 6, PESOS) If Len(PESOS) <> 0 Then If Val(Left(CCANTI, 3)) <> 0 Then PESOS = PESOS + " MIL" End If End If CCANTI = Right(CCANTI, 3) PESOS = LETRAS(CCANTI, 3, PESOS) If Len(PESOS) <> 0 Then If Val(Left(CCANTI, 3)) = 1 Then PESOS = PESOS + "PESO" ElseIf Val(Left(CCANTI, 3)) <> 0 Then PESOS = PESOS + " PESOS" Else PESOS = PESOS + " PESOS" End If Else PESOS = "CERO PESOS" End If PESOS = PESOS + " " + CDECIMAL End Function Function LETRAS(CCANTI, NUMBER, PESOS) If Len(CCANTI) = NUMBER Then If Val(Left(CCANTI, 1)) > 1 Or Val(Mid(CCANTI, 2, 2)) = 0 Or Val(Left(CCANTI, 1)) = 0 Then PESOS = PESOS + " " + Centenas(Val(Left(CCANTI, 1))) Else PESOS = PESOS + " " + Centenas(10) End If PESOS = OTRO(CCANTI, PESOS, 2) ElseIf Len(CCANTI) = NUMBER - 1 Then If Len(PESOS) = 0 Then PESOS = OTRO(CCANTI, PESOS, 1) End If ElseIf Len(CCANTI) = NUMBER - 2 Then If Len(PESOS) = 0 Then PESOS = OTROS(CCANTI, PESOS) End If End If LETRAS = PESOS End Function Function OTRO(CCANTI, PESOS, EMPIEZA) If Val(Mid(CCANTI, EMPIEZA, 1)) >= 3 Then If Val(Mid(CCANTI, EMPIEZA + 1, 1)) = 0 Then PESOS = PESOS + " " + Decenas(Val(Mid(CCANTI, EMPIEZA, 1)) - 1) + Unidades(Val(Mid(CCANTI, EMPIEZA + 1, 1))) Else PESOS = PESOS + " " + Decenas(Val(Mid(CCANTI, EMPIEZA, 1)) - 1) + " Y " + Unidades(Val(Mid(CCANTI, EMPIEZA + 1, 1))) End If ElseIf Val(Mid(CCANTI, EMPIEZA, 1)) >= 2 Then If Val(Mid(CCANTI, EMPIEZA + 1, 1)) = 0 Then PESOS = PESOS + " " + Decenas(Val(Mid(CCANTI, EMPIEZA, 1)) - 1) + Unidades(Val(Mid(CCANTI, EMPIEZA + 1, 1))) Else PESOS = PESOS + " " + Decenas(9) + Unidades(Val(Mid(CCANTI, EMPIEZA + 1, 1))) End If ElseIf Val(Mid(CCANTI, EMPIEZA, 2)) >= 16 Then PESOS = PESOS + " " + Unidades(16) + Unidades(Val(Mid(CCANTI, EMPIEZA + 1, 1))) Else PESOS = PESOS + " " + Unidades(Val(Mid(CCANTI, EMPIEZA, 2))) End If OTRO = PESOS End Function Function OTROS(CCANTI, PESOS) If Len(PESOS) = 0 Then PESOS = PESOS + Unidades(Val(Left(CCANTI, 1))) End If OTROS = PESOS End Function COPIA Y PEGA TODO EL CODIGO EN UN BLOC DE NOTAS (VE A INICIO Y LUEGO /EJECUTAR/NOTEPAD) GUARDALO COMO "pesos.bas" AHORA ABRE EXCEL Y EN UNA HOJA NUEVA O EN LA HOJA QUE QUIERAS UTILIZAR EL MACRO SI ES OFFICE 2010 TENDRAS QUE GUARDARLA COMO HABILITADA PARA MACROS *.XLSM 1) EN LA FICHA (PROGRAMADOR) DA CLIC EN (VISUAL BASIC) 2) A CONTINUACION SELECCION (ARCHIVO) Y LUEGO (IMPORTAR ARCHIVO) 3) BUSCA EL ARCHIVO (pesos.bas) EN DONDE LO HAYAS GUARDADO 4) CIERRA VISUAL BASIC EN (ARCHIVO) Y LUEGO EN (CERRAR Y VOLVER A MICROSOFT EXCEL) AHORA EN CUALQUIER PESTAÑA DE TU HOJA DE CALCULO ESCRIBE EL COMANDO EN UNA CELDA =PESOS(1536.36) Y TENDRAS TU NUMERO CONVERTIDO A TEXTO UN MIL QUINIENTOS TREINTA Y SEIS PESOS 36/100 M.N. SI LO GUARDAS EN EXCEL 2007 O POSTERIORES LA EXTENSION SERIA LA DE UN EXCEL NORMAL *.XLS SALUDOS Y ESPERO TE AYUDE
Datos archivados del Taringa! original
0puntos
0visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos: