cambio de idioma en resultado de funcion textbath de excell

22/01/2006 - 01:24 por antrax | Informe spam
cuando pido la realizacion de esta funcion aparece en idioma tailandes, creo
que se debe a una actualizacion de windows para idiomas asiaticos como se
hace para cambiqr idioma si ya esta configudo el español en configuracion
regional

Preguntas similare

Leer las respuestas

#21 alexandra
25/05/2007 - 20:22 | Informe spam
Según tu experiencia, que es mejor, dejar como está originalmente y en esos
casos mejor hacer el cambio manual, o hacer el cambio?
pienso que con este post terminan mis dudas acerca de este tema, tendré que
buscar otro foro para mi siguientes dudas jeje, así que si estás por otros
foros de aqui, nos encontramos por allá =)
Muchisisimas gracias por todo

"Héctor Miguel" escribió:

. modifica la linea 7 del codigo...
de: -> Cents = Application.Round(Abs(Valor) - Int(Abs(Valor)), 2) * 100
a: -> Cents = Mid(Abs(Valor) - Int(Abs(Valor)), 3, 2)
OJO: obviamente seria necesario que la celda tenga un formato que *muestre* -al menos- dos decimales
Y/o... 'forzar' [el resultado de] la formula en esa/s celda/s a dos decimales p.e. =redondear(tu_formula,2)

si no deseas *trabajar* con las decimales...
-> seria necesario modificar el codigo, eliminando las referencias a las fracciones [Cents/Fracs]...
y *trabajar* las cantidades usando en lugar de enteros, los valores *redondeados* [a 0 decimales] -?-

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



Respuesta Responder a este mensaje
#22 alexandra
25/05/2007 - 22:45 | Informe spam
no, fijate que siempre no fue la última pregunta jeje. como puedo guardar
varios macros para poderlos usar con todos los libros de exel, nunca los
había usado antes de ahora que me hiciste el favor de ayudarme con esto,
estoy tratando de aprender a usarlos, así que grabé uno, pero lo grabé
también en personal, y ahora no veo la forma de poder insertar el que
necesito. =( yo se que ya este es otro tema, pero si me puedes ayudar con
esto, o me puedes orientar a donde está el foro sobre esto, te agradecería

=)

"alexandra" wrote:

Según tu experiencia, que es mejor, dejar como está originalmente y en esos
casos mejor hacer el cambio manual, o hacer el cambio?


.
Respuesta Responder a este mensaje
#23 Héctor Miguel
26/05/2007 - 02:09 | Informe spam
hola, alexandra !

... que es mejor, dejar como esta originalmente y en esos casos mejor hacer el cambio manual, o hacer el cambio?



considerando que existen varias 'formas' [o algoritmos/macros/funciones/...] para convertir numeros en letras...
[creo que] seria cuestion de [com]probar la 'frecuencia' en que se dan casos como el que descubriste -?-

saludos,
hector.
Respuesta Responder a este mensaje
#24 Héctor Miguel
26/05/2007 - 02:14 | Informe spam
hola, alexandra !

... guardar varios macros para poderlos usar con todos los libros
... nunca los habia usado antes de ahora... estoy tratando de aprender a usarlos
... grabe uno, pero lo grabe tambien en personal, y ahora no veo la forma de poder insertar el que necesito. =(



op1: si ya lo vas a 'dejar' en tu libro de macros personales... borra los que tengas 'individualmente' :))
op2: selecciona [o califica/emparenta/define/...] de cual de las opciones disponibles quieres hacer uso -?-

si existen varios procedimientos [disponibles] con un mismo nombre, ocasionas conflictos a la aplicacion :-(
[a menos que uses la opcion 2 comentada] ;)

saludos,
hector.
Respuesta Responder a este mensaje
#25 Emilio
19/10/2008 - 03:52 | Informe spam
Hola
gracias por esta info que no habia solicitado.
Hoy me salvaste el trabajo.
Lo corri en Excel 12 sobre Vista y funciona de maravilla, justo lo que
necesitaba.
Ojalá algun dia lo integren en la versión en Castellano de Excel ya que el
textbath no nos sirve a nadie en latinoamérica.

Salu2


"Héctor Miguel" escribió:

hola, ?

> ... quisiera solicitar un poco de informacion con respecto ... del ALGORITMO, que agregas en el foro
> ... no tengo ni la menor idea como poder insertarlo, adjuntarlo, pegarlo; para aplicar esa funcion, macro o ?? ...

1) estando 'activo' el libro donde la vas a utilizar... muestra el editor de vba -> atajo de teclado: {Alt}+{F11}
2) en el editor de vba... inserta un modulo de codigo 'estandar': -> [menu] insertar / modulo
3) en la ventana 'grande' que se acaba de insertar [Modulo1 ?] -> copia/pega las lineas al final de este mensaje
4) cierras el editor de vba -> atajo de teclado: {Alt}+Q
5) 'de regreso' en excel [y tu libro]... suponiendo que tienes un valor/formula/resultado/... numerico en 'A1'
y que en la celda 'B1' quieres la 'traduccion' de 'A1' como letras...
usa en 'B1' la recien-agregada funcion: =EnLetras(A1,4)
cuyos argumentos podrias usar +/- como sigue: -> EnLetras(Valor, Tipo)
a) EnLetras => es la entrada/llamada/... para usar la funcion en tus hojas de calculo de 'ese' libro
b) Valor => es el valor [o la referencia a la celda que lo contiene] que se va a 'traducir'
c) Tipo => es una de cuatro 'opciones' para el tipo de 'salida' del texto resultante de la 'traduccion'
1 => el resultado sera con todas las letras en minusculas [resultado por omision del argumento 'Tipo']
2 => el resultado sera con todas las letras en mayusculas
3 => el resultado sera la primer letra de cada palabra en mayusculas [el resto en minusculas]
4 => el resultado sera SOLO la primer letra [de toda la frase] en mayusculas [el resto en minusculas]

si cualquier duda... comentas ?
saludos,
hector.

para copiar/pegar en el modulo de codigo estandar del punto 2 ==> =>TEN CUIDADO con los 'saltos de linea' si copias/pegas el codigo desde la ventana del mensaje<>
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
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida