Hola Eduardo:
Esta función te va a ayudar mucho, puedes corregirla a tugusto, inclusive te envío los dos formatos para que te muestre en mayúsculas el resultado o con la primera letra capitalizada.
--------------------------------------------------------------------------------------
Public Function Num2Text(ByVal value As Double) As String
Select Case value
Case 0: Num2Text = "CERO"
Case 1: Num2Text = "UN"
Case 2: Num2Text = "DOS"
Case 3: Num2Text = "TRES"
Case 4: Num2Text = "CUATRO"
Case 5: Num2Text = "CINCO"
Case 6: Num2Text = "SEIS"
Case 7: Num2Text = "SIETE"
Case 8: Num2Text = "OCHO"
Case 9: Num2Text = "NUEVE"
Case 10: Num2Text = "DIEZ"
Case 11: Num2Text = "ONCE"
Case 12: Num2Text = "DOCE"
Case 13: Num2Text = "TRECE"
Case 14: Num2Text = "CATORCE"
Case 15: Num2Text = "QUINCE"
Case 16 To 20: Num2Text = "DIECI" & Num2Text(value - 10)
Case 20: Num2Text = "VEINTE"
Case 21 To 30: Num2Text = "VEINTI" & Num2Text(value - 20)
Case 30: Num2Text = "TREINTA"
Case 40: Num2Text = "CUARENTA"
Case 50: Num2Text = "CINCUENTA"
Case 60: Num2Text = "SESENTA"
Case 70: Num2Text = "SETENTA"
Case 80: Num2Text = "OCHENTA"
Case 90: Num2Text = "NOVENTA"
Case 91 To 100: Num2Text = Num2Text(Int(value \ 10) * 10) & " Y " & Num2Text(value Mod 10)
Case 100: Num2Text = "CIEN"
Case 101 To 200: Num2Text = "CIENTO " & Num2Text(value - 100)
Case 200, 300, 400, 600, 800: Num2Text = Num2Text(Int(value \ 100)) & "CIENTOS"
Case 500: Num2Text = "QUINIENTOS"
Case 700: Num2Text = "SETECIENTOS"
Case 900: Num2Text = "NOVECIENTOS"
Case 901 To 1000: Num2Text = Num2Text(Int(value \ 100) * 100) & " " & Num2Text(value Mod 100)
Case 1000: Num2Text = "MIL"
Case 1001 To 2000: Num2Text = "MIL " & Num2Text(value Mod 1000)
Case 2001 To 1000000: Num2Text = Num2Text(Int(value \ 1000)) & " MIL"
If value Mod 1000 Then Num2Text = Num2Text & " " & Num2Text(value Mod 1000)
Case 1000000: Num2Text = "UN MILLON"
Case 1000001 To 2000000: Num2Text = "UN MILLON " & Num2Text(value Mod 1000000)
Case 2000001 To 1000000000000#: Num2Text = Num2Text(Int(value / 1000000)) & " MILLONES "
If (value - Int(value / 1000000) * 1000000) Then Num2Text = Num2Text & " " & Num2Text(value - Int(value / 1000000) * 1000000)
Case 1000000000000#: Num2Text = "UN BILLON"
Case 1000000000001# To 2000000000000#: Num2Text = "UN BILLON " & Num2Text(value - Int(value / 1000000000000#) * 1000000000000#)
Case Else: Num2Text = Num2Text(Int(value / 1000000000000#)) & " BILLONES"
If (value - Int(value / 1000000000000#) * 1000000000000#) Then Num2Text = Num2Text & " " & Num2Text(value - Int(value / 1000000000000#) * 1000000000000#)
End Select
End Function
Private Sub Form_Load()
MsgBox Num2Text(10001)
MsgBox StrConv(Num2Text(10001), vbProperCase)
End Sub
--------------------------------------------------------------------------
Atentamente.
Elinv.
________________________________________
Estas son nuestras webs
________________________________________
www.bragadomas.com.ar
www.bragadomas.com
http://bragadohoy.blogspot.com/
________________________________________
Estos son nuestros mails.
________________________________________
info@bragadomas.com
________________________________________
Este es nuestro foro
________________________________________
http://www.bragadomas.com/forodeprogramacion/index.php
________________________________________