¿COMO CONVIERTO UNA CANTIDAD EN NUMERO A CANTIDAD EN LETRAS?

10/04/2007 - 17:06 por Juan Manuel Sanchez | Informe spam
Necesito convertir una cantidad escrita con numeros a la misma cantidad pero
escrita con letras, por ejemplo convertir "$ 423.45" a "Cuatroscientos
veintitres pesos 45/100 m.n."

Preguntas similare

Leer las respuestas

#1 Abraham
10/04/2007 - 18:19 | Informe spam
Respuesta Responder a este mensaje
#2 Daniel SL.
10/04/2007 - 20:24 | Informe spam
Hola Juan Manuel Sánchez

Este es un código que publico en buen amigo Héctor Miguel , muy buen, es fácil
estando en tu hoja donde estas trabajando en la parte de abajo le das un clic a la
pestaña de tu hoja con le botón derecho de tu ratón y le das en ver código.de ahí
seleccionas del menú [Insertar] -->Módulo y luego pegas el código de abajo cierras
esa ventana y regresas a la hoja de Excel te ubicas donde quieres que se refleje el
resultado en Letras, una vez hecho eso te vas al menú de tu hoja seleccionas
[Insertar] --> Función... y te sale una ventana seleccionas del lado de la categoría
de la función: la última que es [Definidas por usuario]--> y del lado derecho te va
ha ahí la que dice [ValorEnLetras] y listo ufff esta algo rudo pero vale la
pena...esta es muy buena para mi y sin menos preciar las demás creo que la mejor muy
completa no se pero... creo que el buen Héctor estaba trabajando en una nueva jiji
bueno nose si es asi pues que comente . cual quier duda y si esta en mi ayudarte
avisas juan.

Un saludo
Daniel SL.

'Héctor Miguel.
Option Explicita ' Declaración Obligatoria de Variables '

Function ValorEnLetras(ByVal Ref_Valor As Variant, Optional Moneda As String,
Optional ID_Fracciones As String, _
Optional ID_Moneda As String, Optional
Idioma As String, Optional MAY_min As String) As String ' Función Principal '

Dim Abrir As String, Cerrar As String, Prefijo As String, PreFracEs As String, _
Decimales As Variant, PostFrac As String, Fracciones As String, FraccionesEnLetra
As Boolean, LetraFracciones As String, _
Grupo As Integer, TextoDelGrupo As String, Temp As String, DosPalabras As
Integer, _
Moneda1 As String, Moneda2 As String, Monedas As String, Solitario As String,
Género As String, _
Grupo1 As String, Grupo2 As String, Grupo3 As String, Grupo4 As String, Grupo5 As
String, _
ValorTotal As Variant, EstasLetras As String, ValorFinalEnLetras As String '
Variables específicas de la función principal -Español × omisión- '

Dim Prefix As String, PreFracIn As String, Fractions As String, FractionsInLetters
As String
ReDim TextInGroup(9) As String
TextInGroup(2) = " Thousand "
TextInGroup(3) = " Million "
TextInGroup(4) = " Billion "
TextInGroup(5) = " Trillion " ' Variables para los textos en inglés '

If Not IsNumeric(Ref_Valor) Then
ValorEnLetras = "La Referencia... NO ES #VALOR! (ó)... ESTA FUERA DEL %ALCANCE!"
Exit Function
ElseIf Ref_Valor = 0 Then
ValorEnLetras = "La Referencia de Valor... ES CERO (ó)... ESTA $VACIA!"
Exit Function
End If ' Si no hay valores, la función se termina '

If IsMissing(Moneda) Then Moneda = "" Else Moneda = StrConv(Trim(Moneda),
vbProperCase)
If Left(Moneda, 1) = "(" Or Left(Moneda, 1) = "[" Or Left(Moneda, 1) = "{" Or
Left(Moneda, 1) = "-" Then
Select Case Left(Moneda, 1)
Case "-"
Abrir = "-"
Cerrar = "-"
Case "("
Abrir = "("
Cerrar = ")"
Case "["
Abrir = "["
Cerrar = "]"
Case "{"
Abrir = "{"
Cerrar = "}"
Case Else
Abrir = ""
Cerrar = ""
End Select
End If ' Aquí se define si se encierra el resultado con algún caracter válido '
If Abrir <> "" Then Moneda = StrConv(Trim(Mid(Moneda, 2)), vbProperCase)
If Moneda <> "" Then
DosPalabras = InStr(Moneda, " ")
If DosPalabras > 0 Then ' Por si se trata de una palabra compuesta '
Moneda1 = QuitarExtraños(Left(Moneda, DosPalabras - 1))
Moneda2 = QuitarExtraños(Mid(Moneda, DosPalabras + 1))
Moneda = " " & Moneda1 & " " & Moneda2
Else
Moneda = " " & QuitarExtraños(Moneda)
Moneda1 = ""
Moneda2 = ""
End If
Else
Moneda = ""
End If ' Para fijar el nombre de moneda (si se especificó alguno) '

If Ref_Valor < 0 Then ' Si hay valores, la función debe continuar '
Ref_Valor = Abs(Ref_Valor)
Prefijo = "CREDITO por: " & Abrir
Prefix = "CREDIT in: " & Abrir
Else
Prefijo = Abrir
Prefix = Abrir
End If ' Para modificar el prefijo (si son valores negativos) '

Decimales = Format(Right(Format(Round(Ref_Valor, 2), "00.00"), 2), "00") ' Para
fijar el valor de las decimales '
Ref_Valor = Int(Ref_Valor) ' Para dejar el valor de referencia en entero sólamente
'
ValorTotal = Format(Ref_Valor, "000000000000000") ' Para conservar el valor total
como referencia futura '
Grupo1 = Right(ValorTotal, 3)
Grupo2 = Mid(ValorTotal, 10, 3)
Grupo3 = Mid(ValorTotal, 7, 3)
Grupo4 = Mid(ValorTotal, 4, 3)
Grupo5 = Left(ValorTotal, 3) ' Para definir 5 grupos de 3 dígitos '
Ref_Valor = Trim(Str(Ref_Valor)) ' Representación textual del valor a convertir '

If IsMissing(ID_Fracciones) Then ID_Fracciones = "" Else ID_Fracciones StrConv(Trim(ID_Fracciones), vbProperCase)
If ID_Fracciones <> "" And Left(ID_Fracciones, 1) = "#" Then
ID_Fracciones = StrConv(Trim(Mid(ID_Fracciones, 2)), vbProperCase)
ElseIf ID_Fracciones <> "" And ID_Fracciones <> "/100" Then
FraccionesEnLetra = True ' Aquí "advertimos" que las fracciones SERAN EN
TEXTO -para Español- '
FractionsInLetters = TensLetters(Right("000" & Decimales, 3)) ' Aquí "ponemos"
las fracciones en texto -para Inglés- '
End If
If ID_Fracciones <> "" And ID_Fracciones <> "/100" Then
If Right(ID_Fracciones, 1) = "." _
Then ID_Fracciones = QuitarExtraños(ID_Fracciones) & "." _
Else ID_Fracciones = QuitarExtraños(ID_Fracciones) ' Aquí quitamos cualquier
caracter "extraño" '
If FraccionesEnLetra And ID_Fracciones <> "" And Right(ID_Fracciones, 1) <> "."
Then
If Left(ID_Fracciones, 4) = "Ning" Then
Solitario = "Uno"
Else
If Right(ID_Fracciones, 2) = "as" Then Solitario = "Una" Else Solitario "Un"
End If
LetraFracciones = LetraDecenas(1, Right("000" & Decimales, 3), Solitario) '
Aquí "ponemos" las fracciones en texto -para Español- '
End If
If ID_Fracciones <> "" And Right(ID_Fracciones, 1) <> "." Then
If Decimales = 1 Then
If Mid(Idioma, 2, 2) = "ng" Then
ID_Fracciones = Left(ID_Fracciones, Len(ID_Fracciones) - 1)
Else
Select Case Right(ID_Fracciones, 2)
Case "as", "os", "ms"
ID_Fracciones = Left(ID_Fracciones, Len(ID_Fracciones) - 1)
Case Else: ID_Fracciones = Left(ID_Fracciones, Len(ID_Fracciones) - 2)
End Select
End If
ElseIf Decimales = 0 Then
If FraccionesEnLetra Then
LetraFracciones = "Cero"
FractionsInLetters = "Zero"
End If
End If
End If
End If
If ID_Fracciones <> "" Then
PreFracEs = " "
PreFracIn = " and "
If Left(ID_Fracciones, 4) = "Ning" Then
PostFrac = ""
Else
If ID_Fracciones = "/100" Then PostFrac = "/100" Else PostFrac = " " &
ID_Fracciones
End If
Else
PreFracEs = ""
PreFracIn = ""
Decimales = ""
PostFrac = ""
End If ' Para establecer el identificador y formato de las fracciones (si se
especificó alguno) '
If Decimales = 0 And ID_Fracciones <> "/100" And PostFrac <> "" Then
PreFracEs = " sin"
Decimales = " "
LetraFracciones = " "
FractionsInLetters = "No "
If PostFrac <> "/100" Then PostFrac = Mid(PostFrac, 2)
End If
If FraccionesEnLetra _
Then Fracciones = PreFracEs & LetraFracciones & PostFrac _
Else Fracciones = PreFracEs & Decimales & PostFrac ' Para las decimales en
español '
If Decimales = " " And PostFrac <> "/100" Then Decimales = "No "
If FraccionesEnLetra _
Then Fractions = PreFracIn & FractionsInLetters & PostFrac _
Else Fractions = PreFracIn & Decimales & PostFrac ' Para las decimales en inglés
'

If IsMissing(ID_Moneda) Then ID_Moneda = "" Else ID_Moneda StrConv(Trim(ID_Moneda), vbProperCase)
If ID_Moneda <> "" Then
If Right(ID_Moneda, 1) = "." Then ID_Moneda = QuitarExtraños(ID_Moneda) & "."
Else ID_Moneda = QuitarExtraños(ID_Moneda)
If Left(ID_Moneda, 2) = "Mn" Then ID_Moneda = "M.N."
If Left(ID_Moneda, 2) = "Uk" Then ID_Moneda = "U.K."
If Left(ID_Moneda, 3) = "Eur" Then ID_Moneda = "EUR"
If Left(ID_Moneda, 3) = "Usd" Then ID_Moneda = "U.S.D."
If Left(ID_Moneda, 4) = "Uscy" Then ID_Moneda = "U.S.Cy."
ID_Moneda = " " & ID_Moneda & Cerrar
Else
ID_Moneda = Cerrar
End If ' Para fijar el texto al final de la conversión '

If IsMissing(Idioma) Then GoTo TextoEnEspañol Else Idioma = QuitarExtraños(Idioma)
If Mid(Idioma, 2, 2) = "ng" Then GoTo TextoEnInglés ' Para detectar si se solicita
otro idioma '

TextoEnEspañol:
If Moneda <> "" Then
If Moneda1 <> "" Then
If Right(Moneda1, 1) = "a" Or Right(Moneda1, 1) = "e" Or Right(Moneda1, 1) "o" Or Moneda1 = "Newton" Or Moneda1 = "Ohm" _
Then Moneda1 = Moneda1 & "s" Else Moneda1 = Moneda1 & "es"
If Moneda2 <> "Farenhit" Then
If Right(Moneda2, 1) = "a" Or Right(Moneda2, 1) = "e" Or Right(Moneda2, 1) "o" Or Moneda2 = "Newton" Or Moneda2 = "Ohm" _
Then Moneda2 = Moneda2 & "s" Else Moneda2 = Moneda2 & "es"
End If
Monedas = " " & Moneda1 & " " & Moneda2
Else
If Right(Moneda, 1) = "a" Or Right(Moneda, 1) = "e" Or Right(Moneda, 1) = "o"
Or Moneda = " Newton" Or Moneda = " Ohm" _
Then Monedas = Moneda & "s" Else Monedas = Moneda & "es"
End If
Else
Monedas = ""
End If ' Para determinar el plural de la moneda en español '

If Moneda <> "" Then
If Right(Moneda1, 2) = "as" Or Right(Moneda, 1) = "a" Then
Solitario = "Una"
Género = "as"
Else
Solitario = "Un"
Género = "os"
End If
Else
Solitario = "Uno"
Género = "os"
End If ' Para determinar el género y la unidad monetaria '

If Val(Ref_Valor) = 0 Then
EstasLetras = "Cero"
GoTo ValorEnTexto
End If ' Si no hay enteros (pero SI decimales), omitimos la búsqueda '

Grupo = 1
Do While Ref_Valor <> ""
Temp = LetraCentenas(Grupo, Right(Ref_Valor, 3), Género, Solitario)
If Temp <> "" Then
Select Case Grupo
Case 1: TextoDelGrupo = ""
Case 2
If Val(Grupo1) > 0 Then TextoDelGrupo = " Mil " Else TextoDelGrupo = " Mil"
Case 3
If Val(Grupo3) = 1 Then
If Val(Grupo2 & Grupo1) = 0 Then TextoDelGrupo = " Millón" Else
TextoDelGrupo = " Millón "
Else
If Val(Grupo2 & Grupo1) = 0 Then TextoDelGrupo = " Millones" Else
TextoDelGrupo = " Millones "
End If
Case 4
If Val(Grupo3) > 0 Then
TextoDelGrupo = " Mil "
Else
If Val(Grupo2 & Grupo1) = 0 Then TextoDelGrupo = " Mil Millones" Else
TextoDelGrupo = " Mil Millones "
End If
Case 5
If Val(Grupo5) = 1 Then
If Val(Grupo4 & Grupo3 & Grupo2 & Grupo1) = 0 Then TextoDelGrupo = "
Billón" Else TextoDelGrupo = " Billón "
Else
If Val(Grupo4 & Grupo3 & Grupo2 & Grupo1) = 0 Then TextoDelGrupo = "
Billones" Else TextoDelGrupo = " Billones "
End If
End Select
EstasLetras = Temp & TextoDelGrupo & EstasLetras
End If
If Len(Ref_Valor) > 3 Then Ref_Valor = Left(Ref_Valor, Len(Ref_Valor) - 3) Else
Ref_Valor = ""
Grupo = Grupo + 1
Loop ' Bucle principal de la búsqueda en español '

If ValorTotal < 2 And ValorTotal > 0 Then Monedas = Moneda ' Entre 1.00 y 1.99, la
moneda es singular '

If Val(Grupo5 & Grupo4 & Grupo3) > 0 And Val(Grupo2 & Grupo1) = 0 And Monedas <> ""
_
Then Monedas = " de" & Monedas ' Sin son millones pero sin miles, pluralizamos como
DE monedas '

ValorEnTexto:
If Not IsMissing(MAY_min) And QuitarExtraños(MAY_min) = "Frase" Then
EstasLetras = UCase(Left(EstasLetras, 1)) & LCase(Mid(EstasLetras, 2))
Monedas = LCase(Monedas)
Fracciones = LCase(Fracciones)
ID_Moneda = LCase(ID_Moneda)
End If
ValorFinalEnLetras = Prefijo & EstasLetras & Monedas & Fracciones & ID_Moneda '
Texto encontrado '
GoTo FormatoDelTexto

TextoEnInglés:
If Moneda <> "" Then
If Right(Moneda, 2) = "ch" Then
Monedas = Moneda & "es"
ElseIf Right(Moneda, 4) = "Foot" Then
Monedas = Replace(Moneda, "Foot", "Feet", , , vbTextCompare)
Else
Monedas = Moneda & "s"
End If
Else
Monedas = ""
End If ' Para determinar el plural de la moneda en inglés '

If Val(Ref_Valor) = 0 Then
If Moneda <> "" Then EstasLetras = "No" Else EstasLetras = "Zero"
GoTo TextValue
End If ' Si no hay enteros (pero SI decimales), omitimos la búsqueda '

Grupo = 1
Do While Ref_Valor <> ""
Temp = HundredsLetters(Right(Ref_Valor, 3))
If Temp <> "" Then EstasLetras = Temp & TextInGroup(Grupo) & EstasLetras
If Len(Ref_Valor) > 3 Then Ref_Valor = Left(Ref_Valor, Len(Ref_Valor) - 3) Else
Ref_Valor = ""
Grupo = Grupo + 1
Loop ' Bucle principal de la búsqueda en inglés '

If ValorTotal < 2 And ValorTotal > 0 Then Monedas = Moneda ' Entre 1.00 y 1.99, la
moneda es singular '
If Val(Grupo1) = 0 Then EstasLetras = Left(EstasLetras, Len(EstasLetras) - 1) '
Parche para ajuste de espacios en cifras "miles" '

TextValue:
If Not IsMissing(MAY_min) And QuitarExtraños(MAY_min) = "Frase" Then
EstasLetras = UCase(Left(EstasLetras, 1)) & LCase(Mid(EstasLetras, 2))
Monedas = LCase(Monedas)
Fractions = LCase(Fractions)
ID_Moneda = LCase(ID_Moneda)
End If
ValorFinalEnLetras = Prefix & EstasLetras & Monedas & Fractions & ID_Moneda ' Texto
encontrado '

FormatoDelTexto:
If IsMissing(MAY_min) Then GoTo FinDeFunción Else MAY_min = QuitarExtraños(MAY_min)
' Aquí definimos el tipo de letra '
If Mid(MAY_min, 2, 1) = "a" Or Mid(MAY_min, 2, 1) = "p" Then ValorFinalEnLetras StrConv(ValorFinalEnLetras, vbUpperCase)
If Mid(MAY_min, 2, 1) = "i" Or Mid(MAY_min, 2, 1) = "o" Then ValorFinalEnLetras StrConv(ValorFinalEnLetras, vbLowerCase)

FinDeFunción:
If Mid(MAY_min, 2, 1) = "a" Or Mid(MAY_min, 2, 1) = "p" Then
ValorEnLetras = ValorFinalEnLetras
Else: ValorEnLetras = AcentuarTextos(ValorFinalEnLetras)
End If ' Fin de la Función Principal '
End Function

' Función para "Limpiar" el texto de caracteres extraños '
Private Function QuitarExtraños(MiCadena As String) As String
Dim Posición As Integer, NuevaCadena As String
NuevaCadena = ""
For Posición = 1 To Len(MiCadena)
Select Case Mid(MiCadena, Posición, 1)
Case " ", "°", "|", "¬", "¡", "!", "¿", "?", "(", ")", "[", "}", "]", "}", "#",
"$", "%", "&", "'", "\", "@", "¨", "~", ";", ",", ":", "_", "<", ">", "^", "`", _
"+", "-", "*", "/", ".", "=", "0", "1", "2", "3", "4", "5", "6", "7", "8",
"9"
Case Else
NuevaCadena = NuevaCadena & Mid(MiCadena, Posición, 1)
End Select
Next
QuitarExtraños = StrConv(NuevaCadena, vbProperCase)
End Function

' Función para "acentuar" los numerales apropiados '
Private Function AcentuarTextos(ByVal Cadena As String) As String
Dim Acentuados As String
Acentuados = Replace(Cadena, "idos", "idós")
Acentuados = Replace(Acentuados, "itres", "itrés")
Acentuados = Replace(Acentuados, "iseis", "iséis")
AcentuarTextos = Acentuados
End Function

' Funciones de búsqueda de textos en español '
Private Function LetraCentenas(ByVal Grupo As String, ByVal Segmento As String, _
ByVal Sufijo As String,
ByVal Solitario As String) As String
Dim EsteTexto As String
Segmento = Right("000" & Segmento, 3)
Select Case Val(Left(Segmento, 1))
Case 0:: EsteTexto = ""
Case 1
If Val(Segmento) = 100 Then EsteTexto = "Cien" Else EsteTexto = "Ciento"
Case 2: EsteTexto = "Doscient"
Case 3: EsteTexto = "Trescient"
Case 4: EsteTexto = "Cuatrocient"
Case 5: EsteTexto = "Quinient"
Case 6: EsteTexto = "Seiscient"
Case 7: EsteTexto = "Setecient"
Case 8: EsteTexto = "Ochocient"
Case 9: EsteTexto = "Novecient"
End Select
If Val(Left(Segmento, 1)) > 1 Then
If Grupo > 2 Then EsteTexto = EsteTexto & "os" Else EsteTexto = EsteTexto &
Sufijo
End If
If Mid(Segmento, 2, 1) <> "0" _
Then EsteTexto = EsteTexto & LetraDecenas(Grupo, Segmento, Solitario) _
Else EsteTexto = EsteTexto & LetraUnidades(Grupo, Segmento, Solitario)
LetraCentenas = EsteTexto
End Function
Private Function LetraDecenas(ByVal Grupo As String, ByVal Segmento As String, ByVal
Solitario As String) As String
Dim EsteTexto As String
Select Case Val(Mid(Segmento, 2, 1))
Case 1
Select Case Val(Right(Segmento, 1))
Case 0: EsteTexto = "Diez"
Case 1: EsteTexto = "Once"
Case 2: EsteTexto = "Doce"
Case 3: EsteTexto = "Trece"
Case 4: EsteTexto = "Catorce"
Case 5: EsteTexto = "Quince"
Case 6 To 9: EsteTexto = "Dieci"
End Select
Case 2
If Val(Right(Segmento, 1)) > 0 Then EsteTexto = "Veinti" Else EsteTexto "Veinte"
Case 3: EsteTexto = "Treinta"
Case 4: EsteTexto = "Cuarenta"
Case 5: EsteTexto = "Cincuenta"
Case 6: EsteTexto = "Sesenta"
Case 7: EsteTexto = "Setenta"
Case 8: EsteTexto = "Ochenta"
Case 9: EsteTexto = "Noventa"
End Select
If Val(Right(Segmento, 1)) > 0 And Val(Mid(Segmento, 2, 1)) > 2 Then EsteTexto EsteTexto & " y "
If Val(Left(Segmento, 1)) > 0 Then EsteTexto = " " & EsteTexto
EsteTexto = EsteTexto & LetraUnidades(Grupo, Segmento, Solitario)
LetraDecenas = EsteTexto
End Function
Private Function LetraUnidades(ByVal Grupo As String, ByVal Segmento As String, ByVal
Solitario As String) As String
Dim EsteTexto As String
If Val(Mid(Segmento, 2, 1)) <> 1 Then
Select Case Val(Right(Segmento, 1))
Case 0:: EsteTexto = ""
Case 1
If Grupo = 1 Then EsteTexto = Solitario Else EsteTexto = "Un"
Case 2: EsteTexto = "Dos"
Case 3: EsteTexto = "Tres"
Case 4: EsteTexto = "Cuatro"
Case 5: EsteTexto = "Cinco"
End Select
End If
Select Case Val(Right(Segmento, 1))
Case 6: EsteTexto = "Seis"
Case 7: EsteTexto = "Siete"
Case 8: EsteTexto = "Ocho"
Case 9: EsteTexto = "Nueve"
End Select
If Val(Left(Segmento, 1)) > 0 And Val(Mid(Segmento, 2, 1)) = 0 And EsteTexto <> ""
Then EsteTexto = " " & EsteTexto
If Val(Mid(Segmento, 2, 1)) = 1 And Val(Right(Segmento, 1)) > 5 Then EsteTexto StrConv(EsteTexto, vbLowerCase)
If Val(Mid(Segmento, 2, 1)) = 2 Then EsteTexto = StrConv(EsteTexto, vbLowerCase)
LetraUnidades = EsteTexto
End Function

' Funciones de búsqueda de textos en inglés '
Private Function HundredsLetters(ByVal Segmento As String) As String
Dim EsteTexto As String
Segmento = Right("000" & Segmento, 3)
If Left(Segmento, 1) <> "0" Then EsteTexto = UnitsLetters(Left(Segmento, 1)) & "
Hundred"
If Mid(Segmento, 2, 1) <> "0" _
Then EsteTexto = EsteTexto & TensLetters(Segmento) _
Else EsteTexto = EsteTexto & UnitsLetters(Segmento)
HundredsLetters = EsteTexto
End Function
Private Function TensLetters(ByVal Segmento As String) As String
Dim EsteTexto As String
Select Case Val(Mid(Segmento, 2, 1))
Case 1
Select Case Val(Right(Segmento, 1))
Case 0: EsteTexto = "Ten"
Case 1: EsteTexto = "Eleven"
Case 2: EsteTexto = "Twelve"
Case 3: EsteTexto = "Thirteen"
Case 4: EsteTexto = "Fourteen"
Case 5: EsteTexto = "Fifteen"
Case 6: EsteTexto = "Sixteen"
Case 7: EsteTexto = "Seventeen"
Case 8: EsteTexto = "Eighteen"
Case 9: EsteTexto = "Nineteen"
End Select
Case 2: EsteTexto = "Twenty"
Case 3: EsteTexto = "Thirty"
Case 4: EsteTexto = "Forty"
Case 5: EsteTexto = "Fifty"
Case 6: EsteTexto = "Sixty"
Case 7: EsteTexto = "Seventy"
Case 8: EsteTexto = "Eighty"
Case 9: EsteTexto = "Ninety"
End Select
If Val(Left(Segmento, 1)) > 0 Then EsteTexto = " " & EsteTexto
EsteTexto = EsteTexto & UnitsLetters(Segmento)
TensLetters = EsteTexto
End Function
Private Function UnitsLetters(ByVal Segmento As String) As String
Dim EsteTexto As String
If Val(Mid(Segmento, 2, 1)) <> 1 Then
Select Case Val(Right(Segmento, 1))
Case 0:: EsteTexto = ""
Case 1: EsteTexto = "One"
Case 2: EsteTexto = "Two"
Case 3: EsteTexto = "Three"
Case 4: EsteTexto = "Four"
Case 5: EsteTexto = "Five"
Case 6: EsteTexto = "Six"
Case 7: EsteTexto = "Seven"
Case 8: EsteTexto = "Eight"
Case 9: EsteTexto = "Nine"
End Select
End If
If Val(Segmento) > 20 And EsteTexto <> "" Then EsteTexto = " " & EsteTexto
UnitsLetters = EsteTexto
End Function
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida