SlideShare a Scribd company logo
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

More Related Content

More from 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).pdf
jgs07
 
COMPRENSIÓN LECTORA.pdf
COMPRENSIÓN LECTORA.pdfCOMPRENSIÓN LECTORA.pdf
COMPRENSIÓN LECTORA.pdf
jgs07
 
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
jgs07
 
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
jgs07
 
Maestrias unam
Maestrias unamMaestrias unam
Maestrias unam
jgs07
 
Basilea iii r liquidez dic 2010
Basilea iii r liquidez dic 2010Basilea iii r liquidez dic 2010
Basilea iii r liquidez dic 2010
jgs07
 
Resultados 2012 reputation_institute_1
Resultados 2012 reputation_institute_1Resultados 2012 reputation_institute_1
Resultados 2012 reputation_institute_1
jgs07
 
Contabilidad costos
Contabilidad costosContabilidad costos
Contabilidad costosjgs07
 

More from 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
 

Recently uploaded

النزاع-ا لعرقي-والقبلي-في-دولة-جنوب-السودان-وانعكاساته-على-بناء-الدولة-4.pdf
النزاع-ا   لعرقي-والقبلي-في-دولة-جنوب-السودان-وانعكاساته-على-بناء-الدولة-4.pdfالنزاع-ا   لعرقي-والقبلي-في-دولة-جنوب-السودان-وانعكاساته-على-بناء-الدولة-4.pdf
النزاع-ا لعرقي-والقبلي-في-دولة-جنوب-السودان-وانعكاساته-على-بناء-الدولة-4.pdf
Gamal Mansour
 
Ingresantes en el examen general unap 2023 I.pdf
Ingresantes en el examen general unap 2023 I.pdfIngresantes en el examen general unap 2023 I.pdf
Ingresantes en el examen general unap 2023 I.pdf
wilfacemeet
 
الهندسيه الميكانيكيه الشامله hvac 1
الهندسيه  الميكانيكيه  الشامله  hvac   1الهندسيه  الميكانيكيه  الشامله  hvac   1
الهندسيه الميكانيكيه الشامله hvac 1
maymohamed29
 
أفضل 11 موقع لعمل اختبارات إلكترونية (Slide Decks).pdf
أفضل 11 موقع لعمل اختبارات إلكترونية (Slide Decks).pdfأفضل 11 موقع لعمل اختبارات إلكترونية (Slide Decks).pdf
أفضل 11 موقع لعمل اختبارات إلكترونية (Slide Decks).pdf
qorrectdm
 
guia informatica Guanajuato modulo 22 nuples
guia informatica Guanajuato modulo 22 nuplesguia informatica Guanajuato modulo 22 nuples
guia informatica Guanajuato modulo 22 nuples
Examenes Preparatoria Abierta
 
DAFTAR LAMPIRAN CIP FORTUNA [Autosaved].pptx
DAFTAR LAMPIRAN CIP FORTUNA [Autosaved].pptxDAFTAR LAMPIRAN CIP FORTUNA [Autosaved].pptx
DAFTAR LAMPIRAN CIP FORTUNA [Autosaved].pptx
divadewantara1
 

Recently uploaded (6)

النزاع-ا لعرقي-والقبلي-في-دولة-جنوب-السودان-وانعكاساته-على-بناء-الدولة-4.pdf
النزاع-ا   لعرقي-والقبلي-في-دولة-جنوب-السودان-وانعكاساته-على-بناء-الدولة-4.pdfالنزاع-ا   لعرقي-والقبلي-في-دولة-جنوب-السودان-وانعكاساته-على-بناء-الدولة-4.pdf
النزاع-ا لعرقي-والقبلي-في-دولة-جنوب-السودان-وانعكاساته-على-بناء-الدولة-4.pdf
 
Ingresantes en el examen general unap 2023 I.pdf
Ingresantes en el examen general unap 2023 I.pdfIngresantes en el examen general unap 2023 I.pdf
Ingresantes en el examen general unap 2023 I.pdf
 
الهندسيه الميكانيكيه الشامله hvac 1
الهندسيه  الميكانيكيه  الشامله  hvac   1الهندسيه  الميكانيكيه  الشامله  hvac   1
الهندسيه الميكانيكيه الشامله hvac 1
 
أفضل 11 موقع لعمل اختبارات إلكترونية (Slide Decks).pdf
أفضل 11 موقع لعمل اختبارات إلكترونية (Slide Decks).pdfأفضل 11 موقع لعمل اختبارات إلكترونية (Slide Decks).pdf
أفضل 11 موقع لعمل اختبارات إلكترونية (Slide Decks).pdf
 
guia informatica Guanajuato modulo 22 nuples
guia informatica Guanajuato modulo 22 nuplesguia informatica Guanajuato modulo 22 nuples
guia informatica Guanajuato modulo 22 nuples
 
DAFTAR LAMPIRAN CIP FORTUNA [Autosaved].pptx
DAFTAR LAMPIRAN CIP FORTUNA [Autosaved].pptxDAFTAR LAMPIRAN CIP FORTUNA [Autosaved].pptx
DAFTAR LAMPIRAN CIP FORTUNA [Autosaved].pptx
 

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