Escolar Documentos
Profissional Documentos
Cultura Documentos
Do
PrimerDigito = 0
SegundoDigito = 0
TercerDigito = 0
Bloque = ""
BloqueCero = 0
For I = 1 To 3
Digito = Cantidad Mod 10
If Digito <> 0 Then
Select Case I
Case 1
Bloque = " " & Unidades(Digito - 1)
PrimerDigito = Digito
Case 2
If Digito <= 2 Then
Bloque = " " & Unidades((Digito * 10) + PrimerDigito -
1)
Else
Bloque = " " & Decenas(Digito - 1) & IIf(PrimerDigito
<> 0, " Y", Null) & Bloque
End If
SegundoDigito = Digito
Case 3
Bloque = " " & IIf(Digito = 1 And PrimerDigito = 0 And
SegundoDigito = 0, "CIEN", Centenas(Digito - 1)) & Bloque
TercerDigito = Digito
End Select
Else
BloqueCero = BloqueCero + 1
End If
Cantidad = Int(Cantidad / 10)
If Cantidad = 0 Then
Exit For
End If
Next I
Select Case NumeroBloques
Case 1
NumLetras = Bloque
Case 2
NumLetras = Bloque & IIf(BloqueCero = 3, Null, " MIL") &
NumLetras
Case 3
NumLetras = Bloque & IIf(PrimerDigito = 1 And SegundoDigito = 0
And TercerDigito = 0, " MILLON", " MILLONES") & NumLetras
End Select
NumeroBloques = NumeroBloques + 1
Loop Until Cantidad = 0
'Millardos
If Valor >= 1000000000 Then
Dim millardos As Currency
Dim millarodsInt As Integer
Dim letras_Millardos As String
millarodsInt = Int(Valor / 1000000000)
millardos = millarodsInt
'NumLetras = Trim(NumLetras) & " " & Format(Str(Centavos), "00") & "/100 "
& IIf(ValorEntero = 1, MonedaSingular, MonedaPlural)
' NumLetras = Trim(NumLetras) & " " & IIf(ValorEntero = 1, MonedaSingular,
MonedaPlural)
NumLetras = Trim(NumLetras)
End Function
***********************************************************************************
*********************************************
'========================================================================
' Funci�n: Convertir n�meros a letras
'
' Creado por Otto Javier Gonz�lez
' www.youtube.com/ottojaviergonzalez
' Finalizado el 4 de Julio de 2013
'
' Visual Basic Para Microsoft Excel 2013
' Lista de reproducci�n del curso en YouTube:
' http://www.youtube.com/playlist?list=PLFNWPvtjBMjtnYLCp8KJwD1Ref7WLCIVZ
'
' Modificada por: Sergio Alejandro Campos, MVP Excel (18-jul-2019)
' Canal de Youtube EXCELeINFO, curso de macros:
' https://www.youtube.com/playlist?list=PLu8wBtXk2ly6-0LtqcC2aj4g6cEnJ-_nN
'========================================================================
Option Explicit
nEntero = Int(num)
'nDecimal = Int(Round((num - nEntero) * 100)) 'Correcci�n de �ltimoo momento
Texto = cNumero(nEntero)
Texto = Texto
'Texto = Texto + " D�lares"
End If
End Function
'Evaluaci�n de Millones
If nMillones = 1 Then
Texto = "Un Mill�n" + IIf(num Mod 1000000 <> 0, " " + cNumero(num Mod 1000000),
"")
cNumero = Texto
Exit Function
ElseIf nMillones >= 2 And nMillones <= 999 Then
Texto = cNumero(num \ 1000000) + " Millones" + IIf(num Mod 1000000 <> 0, " " +
cNumero(num Mod 1000000), "")
cNumero = Texto
Exit Function
'Evaluaci�n de Miles
End If
'Evaluaci�n desde 0 a 999
'Casos Especiales
If num = 100 Then
Texto = cDecenas(10)
cNumero = Texto
Exit Function
ElseIf num = 0 Then
Texto = "Cero"
cNumero = Texto
Exit Function
End If
cNumero = Texto
End Function