SlideShare una empresa de Scribd logo
1 de 2
Function PesosMN(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 estacomo 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", "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
For I = 1 To 3
lnDigito = lyCantidadMod 10
If lnDigito<> 0 Then
Select Case I
Case 1
lcBloque = " " &laUnidades(lnDigito - 1)
lnPrimerDigito = lnDigito
Case 2
IflnDigito<= 2 Then
lcBloque = " " &laUnidades((lnDigito * 10) + lnPrimerDigito -
1)
Else
lcBloque = " " &laDecenas(lnDigito - 1) &IIf(lnPrimerDigito<>
0, " Y", Null) &lcBloque
EndIf
lnSegundoDigito = lnDigito
Case 3
lcBloque = " " &IIf(lnDigito = 1 And lnPrimerDigito = 0 And
lnSegundoDigito = 0, "CIEN", laCentenas(lnDigito - 1))
&lcBloque
lnTercerDigito = lnDigito
EndSelect
Else
lnBloqueCero = lnBloqueCero + 1
End If
lyCantidad = Int(lyCantidad / 10)
If lyCantidad = 0 Then
Exit For
End If
Next I
Select Case lnNumeroBloques
Case 1
PesosMN = lcBloque
Case 2
PesosMN = lcBloque&IIf(lnBloqueCero = 3, Null, " MIL")
&PesosMN
Case 3
PesosMN = lcBloque&IIf(lnPrimerDigito = 1 AndlnSegundoDigito
= 0 And lnTercerDigito = 0, " MILLON", " MILLONES") &PesosMN
EndSelect
lnNumeroBloques = lnNumeroBloques + 1
LoopUntillyCantidad = 0
PesosMN = "SON: (" &PesosMN&IIf(tyCantidad> 1, " PESOS ", "
PESO ") &Format(Str(lyCentavos), "00") & "/100 M.N.)"
EndFunction

Más contenido relacionado

Más de jgs07

Modelos financieros a través de Excel (Felicidad Marqués) (Z-Library).pdf
Modelos financieros a través de Excel (Felicidad Marqués) (Z-Library).pdfModelos financieros a través de Excel (Felicidad Marqués) (Z-Library).pdf
Modelos financieros a través de Excel (Felicidad Marqués) (Z-Library).pdfjgs07
 
COMPRENSIÓN LECTORA.pdf
COMPRENSIÓN LECTORA.pdfCOMPRENSIÓN LECTORA.pdf
COMPRENSIÓN LECTORA.pdfjgs07
 
Clase 3 - Introducción a la programación con Python II.pptx
Clase 3 - Introducción a la programación con Python II.pptxClase 3 - Introducción a la programación con Python II.pptx
Clase 3 - Introducción a la programación con Python II.pptxjgs07
 
Clase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptxClase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptxjgs07
 
Maestrias unam
Maestrias unamMaestrias unam
Maestrias unamjgs07
 
Basilea iii r liquidez dic 2010
Basilea iii r liquidez dic 2010Basilea iii r liquidez dic 2010
Basilea iii r liquidez dic 2010jgs07
 
Resultados 2012 reputation_institute_1
Resultados 2012 reputation_institute_1Resultados 2012 reputation_institute_1
Resultados 2012 reputation_institute_1jgs07
 
Contabilidad costos
Contabilidad costosContabilidad costos
Contabilidad costosjgs07
 

Más de jgs07 (8)

Modelos financieros a través de Excel (Felicidad Marqués) (Z-Library).pdf
Modelos financieros a través de Excel (Felicidad Marqués) (Z-Library).pdfModelos financieros a través de Excel (Felicidad Marqués) (Z-Library).pdf
Modelos financieros a través de Excel (Felicidad Marqués) (Z-Library).pdf
 
COMPRENSIÓN LECTORA.pdf
COMPRENSIÓN LECTORA.pdfCOMPRENSIÓN LECTORA.pdf
COMPRENSIÓN LECTORA.pdf
 
Clase 3 - Introducción a la programación con Python II.pptx
Clase 3 - Introducción a la programación con Python II.pptxClase 3 - Introducción a la programación con Python II.pptx
Clase 3 - Introducción a la programación con Python II.pptx
 
Clase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptxClase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptx
 
Maestrias unam
Maestrias unamMaestrias unam
Maestrias unam
 
Basilea iii r liquidez dic 2010
Basilea iii r liquidez dic 2010Basilea iii r liquidez dic 2010
Basilea iii r liquidez dic 2010
 
Resultados 2012 reputation_institute_1
Resultados 2012 reputation_institute_1Resultados 2012 reputation_institute_1
Resultados 2012 reputation_institute_1
 
Contabilidad costos
Contabilidad costosContabilidad costos
Contabilidad costos
 

Funcion numeros a texto

  • 1. Function PesosMN(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 estacomo 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", "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 For I = 1 To 3 lnDigito = lyCantidadMod 10 If lnDigito<> 0 Then Select Case I Case 1 lcBloque = " " &laUnidades(lnDigito - 1) lnPrimerDigito = lnDigito Case 2 IflnDigito<= 2 Then lcBloque = " " &laUnidades((lnDigito * 10) + lnPrimerDigito - 1) Else lcBloque = " " &laDecenas(lnDigito - 1) &IIf(lnPrimerDigito<> 0, " Y", Null) &lcBloque EndIf lnSegundoDigito = lnDigito Case 3 lcBloque = " " &IIf(lnDigito = 1 And lnPrimerDigito = 0 And lnSegundoDigito = 0, "CIEN", laCentenas(lnDigito - 1)) &lcBloque lnTercerDigito = lnDigito EndSelect Else lnBloqueCero = lnBloqueCero + 1 End If lyCantidad = Int(lyCantidad / 10) If lyCantidad = 0 Then Exit For End If
  • 2. Next I Select Case lnNumeroBloques Case 1 PesosMN = lcBloque Case 2 PesosMN = lcBloque&IIf(lnBloqueCero = 3, Null, " MIL") &PesosMN Case 3 PesosMN = lcBloque&IIf(lnPrimerDigito = 1 AndlnSegundoDigito = 0 And lnTercerDigito = 0, " MILLON", " MILLONES") &PesosMN EndSelect lnNumeroBloques = lnNumeroBloques + 1 LoopUntillyCantidad = 0 PesosMN = "SON: (" &PesosMN&IIf(tyCantidad> 1, " PESOS ", " PESO ") &Format(Str(lyCentavos), "00") & "/100 M.N.)" EndFunction