Funcion Para Pasar Numeros a Letras

3
'Funcion para pasar numeros a letras Function NumLetras(Valor As Currency, Optional MonedaSingular As String = "",Optional MonedaPlural As String = "") 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 AsVariant 'Si esta como Option Explicit Dim ValorEntero As Lo ng Valor = Round(Valor, 2) lyCantidad = Int(Valor) ValorEntero = lyCantidad lyCentavos = (Valor - lyCantidad) * 100 laUnidades = Array("UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE","OCHO", "N UEVE", "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE","DIECISEIS", "DIECISIETE", "DIECIOCHO", "DIECINUEVE", "VEINTE", "VEINTIUN","VEINTIDOS ", "VEINTITRES", "VEINTICUATRO", "VEINTICINCO", "VEINTISEIS","VEINTISIET E", "VEINTIOCHO", "VEINTINUEVE") laDecenas = Array("DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA","SESENTA", "S ETENTA", "OCHENTA", "NOVENTA") laCentenas = Array("CIENTO", "DOSCIENTOS", "TRESCIENTOS", "CUATROCIENTOS","QUINIENTOS ", "SEISCIENTOS", "SETECIENTOS", "OCHOCIENTOS", "NOVECIENTOS") lnNumeroBloques = 1 Do lnPrimerDigito = 0 lnSegundoDigito = 0 lnTercerDigito = 0 lcBloque = "" lnBloqueCero = 0 For I = 1 To 3 lnDigito = lyCantidad Mod 10 If lnDigito <> 0 Then

Transcript of Funcion Para Pasar Numeros a Letras

'Funcion para pasar numeros a letras

FunctionNumLetras(ValorAsCurrency,OptionalMonedaSingularAsString="",OptionalMonedaPluralAsString="")AsString

DimlyCantidadAsCurrency, lyCentavosAsCurrency, lnDigitoAsByte, lnPrimerDigitoAsByte, lnSegundoDigitoAsByte, lnTercerDigitoAsByte, lcBloqueAsString, lnNumeroBloquesAsByte, lnBloqueCero

DimlaUnidadesAsVariant, laDecenasAsVariant, laCentenasAsVariant, IAsVariant'Si esta como Option Explicit

DimValorEnteroAsLong

Valor = Round(Valor, 2)

lyCantidad = Int(Valor)

ValorEntero = lyCantidad

lyCentavos = (Valor - 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","TREINTA","CUARENTA","CINCUENTA","SESENTA","SETENTA","OCHENTA","NOVENTA")

laCentenas = Array("CIENTO","DOSCIENTOS","TRESCIENTOS","CUATROCIENTOS","QUINIENTOS","SEISCIENTOS","SETECIENTOS","OCHOCIENTOS","NOVECIENTOS")

lnNumeroBloques = 1

Do

lnPrimerDigito = 0

lnSegundoDigito = 0

lnTercerDigito = 0

lcBloque =""

lnBloqueCero = 0

ForI = 1To3

lnDigito = lyCantidadMod10

IflnDigito 0Then

SelectCaseI

Case1

lcBloque =" "& laUnidades(lnDigito - 1)

lnPrimerDigito = lnDigito

Case2

IflnDigito