excel2003 y funcion textobaht

12/01/2004 - 13:03 por Asturias | Informe spam
alguien sabe si en excel 2003 hay alguna forma para que la funcion textobaht
te de el resultado en Españo en lugar de texto baht

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
13/01/2004 - 08:18 | Informe spam
hola, Asturias !

... que la funcion textobaht te de el resultado en español en lugar de [...]



[si lees mas adelante en la ayuda] la funcion TextoBaht 'solo sirve' para el idioma Tailandes
[¿porque Tailandes??? -no se] :((

podrias 'echarle un ojo' a las siguientes direcciones [funciones para 'convertir' numeros a texto]:
http://guille.costasol.net/utilidad...m2Text.htm
[el archivo se descarga en: http://guille.costasol.net/utilidad...m2Text.zip]
http://www.sistemaslym.net/vba/exce...etras.html
[el archivo se descarga en: http://www.sistemaslym.net/vba/arch...letras.zip]

o 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.
[solo monedas del 'genero' masculino... 'trabajar' con el genero femenino 'requiere quemar' unas cuantas neuronas mas]
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<
saludos,
hector.
_______
Function EnLetras(Valor) As String ' Función 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(Valor)), 6) = "illón " Or Right(Letras(Abs(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
End Function
Private Function Letras(Valor) As String ' Función Auxiliar [uso 'exclusivo' de la función '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
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida