convertir números a texto

14/10/2005 - 06:19 por Laura Rial | Informe spam
Necesito en una planilla de excel converti un numero a texto por ejemplo:
12.598,25 a (doce mil quinientos noventa y ocho con 25/100)
Si me pueden ayudar les agradezco
Laura

Preguntas similare

Leer las respuestas

#1 DANILO ARANGO
14/10/2005 - 07:11 | Informe spam
Hola Laura
Espero que te sirva:
En un modolo de codigo normal copia y pega el siguiente codigo, cuando lo
pegues ve a al opcion insertar-funcion y busca la funcion Numletras, en la
primera opcion selecciona la celda a convertir y en la segunda: 1 MAYUSCULAS
Y 0 MINUSCULAS.

CHAO :-)

Option Explicit

Dim cTexto As String 'Variable para las funciones

Public Function NumLetras(ByVal Numero As Double, ByVal Mayusculas As
Integer) As String

Dim NumTmp As String
Dim c01 As Integer
Dim c02 As Integer
Dim pos As Integer
Dim dig As Integer
Dim cen As Integer
Dim dec As Integer
Dim uni As Integer
Dim letra1 As String
Dim letra2 As String
Dim letra3 As String
Dim Leyenda As String
Dim Leyenda1 As String
Dim TFNumero As String

If Numero < 0 Then Numero = Abs(Numero)

NumTmp = Format(Numero, "000000000000000.00") 'Le da un formato fijo
c01 = 1
pos = 1
TFNumero = ""
'Para extraer tres digitos cada vez
Do While c01 <= 5
c02 = 1
Do While c02 <= 3
'Extrae un digito cada vez de izquierda a derecha
dig = Val(Mid(NumTmp, pos, 1))
Select Case c02
Case 1: cen = dig
Case 2: dec = dig
Case 3: uni = dig
End Select
c02 = c02 + 1
pos = pos + 1
Loop
letra3 = Centena(uni, dec, cen)
letra2 = Decena(uni, dec)
letra1 = Unidad(uni, dec)

Select Case c01
Case 1
If cen + dec + uni = 1 Then
Leyenda = "Billon "
ElseIf cen + dec + uni > 1 Then
Leyenda = "Billones "
End If
Case 2
If cen + dec + uni >= 1 And Val(Mid(NumTmp, 7, 3)) = 0 Then
Leyenda = "Mil Millones "
ElseIf cen + dec + uni >= 1 Then
Leyenda = "Mil "
End If
Case 3
If cen + dec = 0 And uni = 1 Then
Leyenda = "Millon "
ElseIf cen > 0 Or dec > 0 Or uni > 1 Then
Leyenda = "Millones "
End If
Case 4
If cen + dec + uni >= 1 Then
Leyenda = "Mil "
End If
Case 5
If cen + dec + uni >= 1 Then
Leyenda = ""
End If
End Select

c01 = c01 + 1

TFNumero = TFNumero + letra3 + letra2 + letra1 + Leyenda

Leyenda = ""
letra1 = ""
letra2 = ""
letra3 = ""

Loop

If Val(NumTmp) = 0 Or Val(NumTmp) < 1 Then
Leyenda1 = "Cero Pesos "
ElseIf Val(NumTmp) = 1 Or Val(NumTmp) < 2 Then
Leyenda1 = "Peso "
ElseIf Val(Mid(NumTmp, 4, 12)) = 0 Or Val(Mid(NumTmp, 10, 6)) = 0 Then
Leyenda1 = "de Pesos "
Else
Leyenda1 = "Pesos "
End If

TFNumero = "(" & TFNumero & Leyenda1 & "CON" & " " & Mid(NumTmp, 17) &
"/100)"

If Mayusculas = 1 Then
TFNumero = UCase(TFNumero)
Else
TFNumero = LCase(TFNumero)
End If

NumLetras = TFNumero

End Function


Private Function Centena(ByVal uni As Integer, ByVal dec As Integer, _
ByVal cen As Integer) As String

Select Case cen
Case 1
If dec + uni = 0 Then
cTexto = "cien "
Else
cTexto = "ciento "
End If
Case 2: cTexto = "doscientos "
Case 3: cTexto = "trescientos "
Case 4: cTexto = "cuatrocientos "
Case 5: cTexto = "quinientos "
Case 6: cTexto = "seiscientos "
Case 7: cTexto = "setecientos "
Case 8: cTexto = "ochocientos "
Case 9: cTexto = "novecientos "
Case Else: cTexto = ""
End Select

Centena = cTexto
cTexto = ""

End Function


Private Function Decena(ByVal uni As Integer, ByVal dec As Integer) As String

Select Case dec
Case 1
Select Case uni
Case 0: cTexto = "diez "
Case 1: cTexto = "once "
Case 2: cTexto = "doce "
Case 3: cTexto = "trece "
Case 4: cTexto = "catorce "
Case 5: cTexto = "quince "
Case 6 To 9: cTexto = "dieci"
End Select
Case 2
If uni = 0 Then
cTexto = "veinte "
ElseIf uni > 0 Then
cTexto = "veinti"
End If
Case 3: cTexto = "treinta "
Case 4: cTexto = "cuarenta "
Case 5: cTexto = "cincuenta "
Case 6: cTexto = "sesenta "
Case 7: cTexto = "setenta "
Case 8: cTexto = "ochenta "
Case 9: cTexto = "noventa "
Case Else: cTexto = ""
End Select

If uni > 0 And dec > 2 Then cTexto = cTexto + "y "

Decena = cTexto
cTexto = ""

End Function


Private Function Unidad(ByVal uni As Integer, ByVal dec As Integer) As String

If dec <> 1 Then
Select Case uni
Case 1: cTexto = "un "
Case 2: cTexto = "dos "
Case 3: cTexto = "tres "
Case 4: cTexto = "cuatro "
Case 5: cTexto = "cinco "
End Select
End If

Select Case uni
Case 6: cTexto = "seis "
Case 7: cTexto = "siete "
Case 8: cTexto = "ocho "
Case 9: cTexto = "nueve "
End Select

Unidad = cTexto
cTexto = ""

End Function




"Laura Rial" escribió:

Necesito en una planilla de excel converti un numero a texto por ejemplo:
12.598,25 a (doce mil quinientos noventa y ocho con 25/100)
Si me pueden ayudar les agradezco
Laura
Respuesta Responder a este mensaje
#2 Héctor Miguel
14/10/2005 - 07:15 | Informe spam
hola, Laura !

... un numero a texto por ejemplo: 12.598,25 a (doce mil quinientos noventa y ocho con 25/100)



-> si solo te interesa una o dos o tres cantidades a convertir...
podrias 'echar a perder' +/- 12 0 15 celdas por conversion usando formulas y concatenando textos
o... +/- 30 o 35 'nombres definidos' [mismo procedimiento anterior]

-> si vas a necesitar un mayor numero de conversiones... probablemente sera conveniente una funcion personalizada
te paso unos apuntes al final ;)

si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.

podrias 'echarle un ojo' a las siguientes direcciones [funciones para 'convertir' numeros a texto]:

-> la 'mas famosa' es la de 'el Guille':
http://www.elguille.info/vb/utilida...m2Text.htm el archivo se descarga en:
http://downloads.elguille.info/Baja...m2Text.zip
-> nota: esta funcion [aunque es la mas famosa] tiene varias 'fugas/bugs/omisiones/errores/...' :-((
si te decidieras por ella... comentas? [para proporcionarte algunos 'tips'] ;)

-> una mas de las 'famosas' la encuentras en...
http://www.sistemaslym.net/vba/exce...etras.html el archivo se descarga en:
http://www.sistemaslym.net/vba/arch...letras.zip

-> o puedes probar con el algoritmo que expongo al final, publicado por Claudio Sepulveda ['bastante' tiempo ha]...
[aunque no estoy seguro de su autoria] es de los mas 'sencillos' y faciles de 'adaptar' que me ha tocado conocer por estos 'lares'
puedes 'personalizar' para [practicamente] CUALQUIER 'necesidad' en las primeras 12 lineas.
ya 'incluye' un argumento 'opcional' para la 'salida' del texto en mayusculas/minusculas/... :))
->solo monedas del 'genero' masculino<-... 'trabajar' con el genero femenino 'requiere quemar' [unas cuantas] mas neuronas :))
existen otros diversos algoritmos [desde 'sencillos' hasta 'complejos'] para otras tambien diversas 'necesidades'...
=>copialo en un modulo 'normal' y 'llama' a la funcion como a cualquier otra funcion de hoja de calculo< =>TEN CUIDADO con los 'saltos de linea' si copias/pegas el codigo desde la ventana del mensaje<
en un modulo de codigo 'normal' ==Function EnLetras(Valor, Optional ByVal Tipo As Byte = 1) As String ' Funcion Principal '
If Not IsNumeric(Valor) Then
EnLetras = "¡ La referencia no es valor o... 'excede' la precisión !!!": Exit Function
End If: Dim Moneda As String, Fracs As String, Cents As Integer
If Int(Abs(Valor)) = 1 Then Moneda = " peso" Else Moneda = " pesos"
If Right(Letras(Abs(Int(Valor))), 6) = "illón " Or Right(Letras(Abs(Int(Valor))), 8) = "illones " Then Moneda = "de" & Moneda
Cents = Application.Round(Abs(Valor) - Int(Abs(Valor)), 2) * 100
If Cents = 1 Then Fracs = " centavo" Else Fracs = " centavos"
If Cents = 0 Then Fracs = "" Else Fracs = " con " & Letras(Cents) & Fracs
EnLetras = Letras(Int(Abs(Valor))) & Moneda & Fracs
If Valor < 0 Then EnLetras = "menos " & EnLetras
If Tipo = 2 Then EnLetras = UCase(EnLetras) ' TODO EN MAYUSCULAS '
If Tipo = 3 Then EnLetras = StrConv(EnLetras, vbProperCase) ' Todo Como Nombre Propio '
If Tipo = 4 Then EnLetras = UCase(Left(EnLetras, 1)) & Mid(EnLetras, 2) ' Primer letra en mayuscula SOLAMENTE '
EnLetras = "(" & EnLetras & ")"
End Function
Private Function Letras(Valor) As String ' Función Auxiliar [uso 'exclusivo' de la funcion 'principal'] '
Select Case Int(Valor)
Case 0: Letras = "cero"
Case 1: Letras = "un"
Case 2: Letras = "dos"
Case 3: Letras = "tres"
Case 4: Letras = "cuatro"
Case 5: Letras = "cinco"
Case 6: Letras = "seis"
Case 7: Letras = "siete"
Case 8: Letras = "ocho"
Case 9: Letras = "nueve"
Case 10: Letras = "diez"
Case 11: Letras = "once"
Case 12: Letras = "doce"
Case 13: Letras = "trece"
Case 14: Letras = "catorce"
Case 15: Letras = "quince"
Case Is < 20: Letras = "dieci" & Letras(Valor - 10)
Case 20: Letras = "veinte"
Case Is < 30: Letras = "veinti" & Letras(Valor - 20)
Case 30: Letras = "treinta"
Case 40: Letras = "cuarenta"
Case 50: Letras = "cincuenta"
Case 60: Letras = "sesenta"
Case 70: Letras = "setenta"
Case 80: Letras = "ochenta"
Case 90: Letras = "noventa"
Case Is < 100: Letras = Letras(Int(Valor \ 10) * 10) & " y " & Letras(Valor Mod 10)
Case 100: Letras = "cien"
Case Is < 200: Letras = "ciento " & Letras(Valor - 100)
Case 200, 300, 400, 600, 800: Letras = Letras(Int(Valor \ 100)) & "cientos"
Case 500: Letras = "quinientos"
Case 700: Letras = "setecientos"
Case 900: Letras = "novecientos"
Case Is < 1000: Letras = Letras(Int(Valor \ 100) * 100) & " " & Letras(Valor Mod 100)
Case 1000: Letras = "mil"
Case Is < 2000: Letras = "mil " & Letras(Valor Mod 1000)
Case Is < 1000000: Letras = Letras(Int(Valor \ 1000)) & " mil"
If Valor Mod 1000 Then Letras = Letras & " " & Letras(Valor Mod 1000)
Case 1000000: Letras = "un millón "
Case Is < 2000000: Letras = "un millón " & Letras(Valor Mod 1000000)
Case Is < 1000000000000#: Letras = Letras(Int(Valor / 1000000)) & " millones "
If (Valor - Int(Valor / 1000000) * 1000000) _
Then Letras = Letras & Letras(Valor - Int(Valor / 1000000) * 1000000)
Case 1000000000000#: Letras = "un billón "
Case Is < 2000000000000#
Letras = "un billón " & Letras(Valor - Int(Valor / 1000000000000#) * 1000000000000#)
Case Else: Letras = Letras(Int(Valor / 1000000000000#)) & " billones "
If (Valor - Int(Valor / 1000000000000#) * 1000000000000#) _
Then Letras = Letras & " " & Letras(Valor - Int(Valor / 1000000000000#) * 1000000000000#)
End Select
End Function
Respuesta Responder a este mensaje
#3 Laura Rial
14/10/2005 - 15:03 | Informe spam
Daniel: ante nada gracias por tu respuesta
La he puesto en práctica pero me da un error en la siguiente línea

Public Function NumLetras(ByVal Numero As Double, ByVal Mayusculas As
Integer) As String

Me dice " ERROR DE COMPILACION SE ESPERABA NOMBRE DE TIPO"
me podes decir como lo soluciono

y una pregunta mas la función Numletras tengo que expresarla asi??
=Numletras(a1;1) por ejemplo si lo quiero en mayusculas no?
Gracias de nuevo Laura
"DANILO ARANGO" escribió:

Hola Laura
Espero que te sirva:
En un modolo de codigo normal copia y pega el siguiente codigo, cuando lo
pegues ve a al opcion insertar-funcion y busca la funcion Numletras, en la
primera opcion selecciona la celda a convertir y en la segunda: 1 MAYUSCULAS
Y 0 MINUSCULAS.

CHAO :-)

Option Explicit

Dim cTexto As String 'Variable para las funciones

Public Function NumLetras(ByVal Numero As Double, ByVal Mayusculas As
Integer) As String

Dim NumTmp As String
Dim c01 As Integer
Dim c02 As Integer
Dim pos As Integer
Dim dig As Integer
Dim cen As Integer
Dim dec As Integer
Dim uni As Integer
Dim letra1 As String
Dim letra2 As String
Dim letra3 As String
Dim Leyenda As String
Dim Leyenda1 As String
Dim TFNumero As String

If Numero < 0 Then Numero = Abs(Numero)

NumTmp = Format(Numero, "000000000000000.00") 'Le da un formato fijo
c01 = 1
pos = 1
TFNumero = ""
'Para extraer tres digitos cada vez
Do While c01 <= 5
c02 = 1
Do While c02 <= 3
'Extrae un digito cada vez de izquierda a derecha
dig = Val(Mid(NumTmp, pos, 1))
Select Case c02
Case 1: cen = dig
Case 2: dec = dig
Case 3: uni = dig
End Select
c02 = c02 + 1
pos = pos + 1
Loop
letra3 = Centena(uni, dec, cen)
letra2 = Decena(uni, dec)
letra1 = Unidad(uni, dec)

Select Case c01
Case 1
If cen + dec + uni = 1 Then
Leyenda = "Billon "
ElseIf cen + dec + uni > 1 Then
Leyenda = "Billones "
End If
Case 2
If cen + dec + uni >= 1 And Val(Mid(NumTmp, 7, 3)) = 0 Then
Leyenda = "Mil Millones "
ElseIf cen + dec + uni >= 1 Then
Leyenda = "Mil "
End If
Case 3
If cen + dec = 0 And uni = 1 Then
Leyenda = "Millon "
ElseIf cen > 0 Or dec > 0 Or uni > 1 Then
Leyenda = "Millones "
End If
Case 4
If cen + dec + uni >= 1 Then
Leyenda = "Mil "
End If
Case 5
If cen + dec + uni >= 1 Then
Leyenda = ""
End If
End Select

c01 = c01 + 1

TFNumero = TFNumero + letra3 + letra2 + letra1 + Leyenda

Leyenda = ""
letra1 = ""
letra2 = ""
letra3 = ""

Loop

If Val(NumTmp) = 0 Or Val(NumTmp) < 1 Then
Leyenda1 = "Cero Pesos "
ElseIf Val(NumTmp) = 1 Or Val(NumTmp) < 2 Then
Leyenda1 = "Peso "
ElseIf Val(Mid(NumTmp, 4, 12)) = 0 Or Val(Mid(NumTmp, 10, 6)) = 0 Then
Leyenda1 = "de Pesos "
Else
Leyenda1 = "Pesos "
End If

TFNumero = "(" & TFNumero & Leyenda1 & "CON" & " " & Mid(NumTmp, 17) &
"/100)"

If Mayusculas = 1 Then
TFNumero = UCase(TFNumero)
Else
TFNumero = LCase(TFNumero)
End If

NumLetras = TFNumero

End Function


Private Function Centena(ByVal uni As Integer, ByVal dec As Integer, _
ByVal cen As Integer) As String

Select Case cen
Case 1
If dec + uni = 0 Then
cTexto = "cien "
Else
cTexto = "ciento "
End If
Case 2: cTexto = "doscientos "
Case 3: cTexto = "trescientos "
Case 4: cTexto = "cuatrocientos "
Case 5: cTexto = "quinientos "
Case 6: cTexto = "seiscientos "
Case 7: cTexto = "setecientos "
Case 8: cTexto = "ochocientos "
Case 9: cTexto = "novecientos "
Case Else: cTexto = ""
End Select

Centena = cTexto
cTexto = ""

End Function


Private Function Decena(ByVal uni As Integer, ByVal dec As Integer) As String

Select Case dec
Case 1
Select Case uni
Case 0: cTexto = "diez "
Case 1: cTexto = "once "
Case 2: cTexto = "doce "
Case 3: cTexto = "trece "
Case 4: cTexto = "catorce "
Case 5: cTexto = "quince "
Case 6 To 9: cTexto = "dieci"
End Select
Case 2
If uni = 0 Then
cTexto = "veinte "
ElseIf uni > 0 Then
cTexto = "veinti"
End If
Case 3: cTexto = "treinta "
Case 4: cTexto = "cuarenta "
Case 5: cTexto = "cincuenta "
Case 6: cTexto = "sesenta "
Case 7: cTexto = "setenta "
Case 8: cTexto = "ochenta "
Case 9: cTexto = "noventa "
Case Else: cTexto = ""
End Select

If uni > 0 And dec > 2 Then cTexto = cTexto + "y "

Decena = cTexto
cTexto = ""

End Function


Private Function Unidad(ByVal uni As Integer, ByVal dec As Integer) As String

If dec <> 1 Then
Select Case uni
Case 1: cTexto = "un "
Case 2: cTexto = "dos "
Case 3: cTexto = "tres "
Case 4: cTexto = "cuatro "
Case 5: cTexto = "cinco "
End Select
End If

Select Case uni
Case 6: cTexto = "seis "
Case 7: cTexto = "siete "
Case 8: cTexto = "ocho "
Case 9: cTexto = "nueve "
End Select

Unidad = cTexto
cTexto = ""

End Function




"Laura Rial" escribió:

> Necesito en una planilla de excel converti un numero a texto por ejemplo:
> 12.598,25 a (doce mil quinientos noventa y ocho con 25/100)
> Si me pueden ayudar les agradezco
> Laura
Respuesta Responder a este mensaje
#4 DANILO ARANGO
15/10/2005 - 02:20 | Informe spam
Hola Laura.
Al copiar el codigo hay dos lineas que se parten:
1. Public Function NumLetras(ByVal Numero As Double, ByVal Mayusculas As
Integer) As String
Esto es una sola linea, solo es que se parte por que no cabe en el foro
El segundo renglon de esta linea debe de quedar arriba por ejem:
primera parte + ByVal Mayusculas As Integer) As String


2. TFNumero = "(" & TFNumero & Leyenda1 & "CON" & " " & Mid(NumTmp, 17) &
"/100)"

En esta linea es lo mismo ejem:
primera parte + Mid(NumTmp, 17) & "/100)"

No se si me hize entender:

Chao :-)


"Laura Rial" escribió:

Daniel: ante nada gracias por tu respuesta
La he puesto en práctica pero me da un error en la siguiente línea

Public Function NumLetras(ByVal Numero As Double, ByVal Mayusculas As
Integer) As String

Me dice " ERROR DE COMPILACION SE ESPERABA NOMBRE DE TIPO"
me podes decir como lo soluciono

y una pregunta mas la función Numletras tengo que expresarla asi??
=Numletras(a1;1) por ejemplo si lo quiero en mayusculas no?
Gracias de nuevo Laura
"DANILO ARANGO" escribió:

> Hola Laura
> Espero que te sirva:
> En un modolo de codigo normal copia y pega el siguiente codigo, cuando lo
> pegues ve a al opcion insertar-funcion y busca la funcion Numletras, en la
> primera opcion selecciona la celda a convertir y en la segunda: 1 MAYUSCULAS
> Y 0 MINUSCULAS.
>
> CHAO :-)
>
> Option Explicit
>
> Dim cTexto As String 'Variable para las funciones
>
> Public Function NumLetras(ByVal Numero As Double, ByVal Mayusculas As
> Integer) As String
>
> Dim NumTmp As String
> Dim c01 As Integer
> Dim c02 As Integer
> Dim pos As Integer
> Dim dig As Integer
> Dim cen As Integer
> Dim dec As Integer
> Dim uni As Integer
> Dim letra1 As String
> Dim letra2 As String
> Dim letra3 As String
> Dim Leyenda As String
> Dim Leyenda1 As String
> Dim TFNumero As String
>
> If Numero < 0 Then Numero = Abs(Numero)
>
> NumTmp = Format(Numero, "000000000000000.00") 'Le da un formato fijo
> c01 = 1
> pos = 1
> TFNumero = ""
> 'Para extraer tres digitos cada vez
> Do While c01 <= 5
> c02 = 1
> Do While c02 <= 3
> 'Extrae un digito cada vez de izquierda a derecha
> dig = Val(Mid(NumTmp, pos, 1))
> Select Case c02
> Case 1: cen = dig
> Case 2: dec = dig
> Case 3: uni = dig
> End Select
> c02 = c02 + 1
> pos = pos + 1
> Loop
> letra3 = Centena(uni, dec, cen)
> letra2 = Decena(uni, dec)
> letra1 = Unidad(uni, dec)
>
> Select Case c01
> Case 1
> If cen + dec + uni = 1 Then
> Leyenda = "Billon "
> ElseIf cen + dec + uni > 1 Then
> Leyenda = "Billones "
> End If
> Case 2
> If cen + dec + uni >= 1 And Val(Mid(NumTmp, 7, 3)) = 0 Then
> Leyenda = "Mil Millones "
> ElseIf cen + dec + uni >= 1 Then
> Leyenda = "Mil "
> End If
> Case 3
> If cen + dec = 0 And uni = 1 Then
> Leyenda = "Millon "
> ElseIf cen > 0 Or dec > 0 Or uni > 1 Then
> Leyenda = "Millones "
> End If
> Case 4
> If cen + dec + uni >= 1 Then
> Leyenda = "Mil "
> End If
> Case 5
> If cen + dec + uni >= 1 Then
> Leyenda = ""
> End If
> End Select
>
> c01 = c01 + 1
>
> TFNumero = TFNumero + letra3 + letra2 + letra1 + Leyenda
>
> Leyenda = ""
> letra1 = ""
> letra2 = ""
> letra3 = ""
>
> Loop
>
> If Val(NumTmp) = 0 Or Val(NumTmp) < 1 Then
> Leyenda1 = "Cero Pesos "
> ElseIf Val(NumTmp) = 1 Or Val(NumTmp) < 2 Then
> Leyenda1 = "Peso "
> ElseIf Val(Mid(NumTmp, 4, 12)) = 0 Or Val(Mid(NumTmp, 10, 6)) = 0 Then
> Leyenda1 = "de Pesos "
> Else
> Leyenda1 = "Pesos "
> End If
>
> TFNumero = "(" & TFNumero & Leyenda1 & "CON" & " " & Mid(NumTmp, 17) &
> "/100)"
>
> If Mayusculas = 1 Then
> TFNumero = UCase(TFNumero)
> Else
> TFNumero = LCase(TFNumero)
> End If
>
> NumLetras = TFNumero
>
> End Function
>
>
> Private Function Centena(ByVal uni As Integer, ByVal dec As Integer, _
> ByVal cen As Integer) As String
>
> Select Case cen
> Case 1
> If dec + uni = 0 Then
> cTexto = "cien "
> Else
> cTexto = "ciento "
> End If
> Case 2: cTexto = "doscientos "
> Case 3: cTexto = "trescientos "
> Case 4: cTexto = "cuatrocientos "
> Case 5: cTexto = "quinientos "
> Case 6: cTexto = "seiscientos "
> Case 7: cTexto = "setecientos "
> Case 8: cTexto = "ochocientos "
> Case 9: cTexto = "novecientos "
> Case Else: cTexto = ""
> End Select
>
> Centena = cTexto
> cTexto = ""
>
> End Function
>
>
> Private Function Decena(ByVal uni As Integer, ByVal dec As Integer) As String
>
> Select Case dec
> Case 1
> Select Case uni
> Case 0: cTexto = "diez "
> Case 1: cTexto = "once "
> Case 2: cTexto = "doce "
> Case 3: cTexto = "trece "
> Case 4: cTexto = "catorce "
> Case 5: cTexto = "quince "
> Case 6 To 9: cTexto = "dieci"
> End Select
> Case 2
> If uni = 0 Then
> cTexto = "veinte "
> ElseIf uni > 0 Then
> cTexto = "veinti"
> End If
> Case 3: cTexto = "treinta "
> Case 4: cTexto = "cuarenta "
> Case 5: cTexto = "cincuenta "
> Case 6: cTexto = "sesenta "
> Case 7: cTexto = "setenta "
> Case 8: cTexto = "ochenta "
> Case 9: cTexto = "noventa "
> Case Else: cTexto = ""
> End Select
>
> If uni > 0 And dec > 2 Then cTexto = cTexto + "y "
>
> Decena = cTexto
> cTexto = ""
>
> End Function
>
>
> Private Function Unidad(ByVal uni As Integer, ByVal dec As Integer) As String
>
> If dec <> 1 Then
> Select Case uni
> Case 1: cTexto = "un "
> Case 2: cTexto = "dos "
> Case 3: cTexto = "tres "
> Case 4: cTexto = "cuatro "
> Case 5: cTexto = "cinco "
> End Select
> End If
>
> Select Case uni
> Case 6: cTexto = "seis "
> Case 7: cTexto = "siete "
> Case 8: cTexto = "ocho "
> Case 9: cTexto = "nueve "
> End Select
>
> Unidad = cTexto
> cTexto = ""
>
> End Function
>
>
>
>
> "Laura Rial" escribió:
>
> > Necesito en una planilla de excel converti un numero a texto por ejemplo:
> > 12.598,25 a (doce mil quinientos noventa y ocho con 25/100)
> > Si me pueden ayudar les agradezco
> > Laura
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida