convertir tailandés a español

27/03/2006 - 23:45 por Gerson Miranda | Informe spam
como convertir valores numericos a letras, ejemplo: 100 seria "cien"

Preguntas similare

Leer las respuestas

#6 KL
28/03/2006 - 16:40 | Informe spam
Hola Gerson,

Francisco GMAIL me paso un algoritmo pero no se donde pegarlo,
para poder utilizarlo como funcion, me podrias dar alguna direccion.



Prueba hacer lo siguiente:

Con el archivo en cuestion abierto...
1) Haz clic-derecho sobre el pequeño logo de Excel a la izquierda del menu Archivo
2) Elige la opcion 'Ver Codigo' para abrir el editor VBA.
3) Una vez en el Editor VBA, ve al menu Insertar>Modulo...
4) En la ventana mas grande a la derecha pega el codigo que te pasaron en la otra respuesta
5) Pulsa Alt+F11 para volver a la hoja.
6) Ahora puedes usar la funcion (solo en este archivo) como si fuera una funcion normal y corriente, p.ej. en una celda introduces:

=EnLetras(A1;1)

o bien

=EnLetras(A1;2)

o bien

=EnLetras(A1;3)

o bien

=EnLetras(A1;4)

Saludos,
KL
Respuesta Responder a este mensaje
#7 Gerson Miranda
28/03/2006 - 20:10 | Informe spam
Gracias KL, probe de esa manera pero no me funciono, tambien baje un zip de
la pagina de elguille, no se si sabes como instalar ese zip?


gracias

"KL" escribió:

Hola Gerson,

> Francisco GMAIL me paso un algoritmo pero no se donde pegarlo,
> para poder utilizarlo como funcion, me podrias dar alguna direccion.

Prueba hacer lo siguiente:

Con el archivo en cuestion abierto...
1) Haz clic-derecho sobre el pequeño logo de Excel a la izquierda del menu Archivo
2) Elige la opcion 'Ver Codigo' para abrir el editor VBA.
3) Una vez en el Editor VBA, ve al menu Insertar>Modulo...
4) En la ventana mas grande a la derecha pega el codigo que te pasaron en la otra respuesta
5) Pulsa Alt+F11 para volver a la hoja.
6) Ahora puedes usar la funcion (solo en este archivo) como si fuera una funcion normal y corriente, p.ej. en una celda introduces:

=EnLetras(A1;1)

o bien

=EnLetras(A1;2)

o bien

=EnLetras(A1;3)

o bien

=EnLetras(A1;4)

Saludos,
KL

Respuesta Responder a este mensaje
#8 KL
28/03/2006 - 20:17 | Informe spam
Hola Gerson,

A ver, vayamos por partes ;-) ?Que quiere decir exactamente "no me funciono"? ?Podrias explicar que es lo que has hecho, que datos y en que celdas tienes, la formula que has introducido y donde la has introducido, que error has obtenido?

Saludos,
KL


"Gerson Miranda" wrote in message news:
Gracias KL, probe de esa manera pero no me funciono, tambien baje un zip de
la pagina de elguille, no se si sabes como instalar ese zip?


gracias

"KL" escribió:

Hola Gerson,

> Francisco GMAIL me paso un algoritmo pero no se donde pegarlo,
> para poder utilizarlo como funcion, me podrias dar alguna direccion.

Prueba hacer lo siguiente:

Con el archivo en cuestion abierto...
1) Haz clic-derecho sobre el pequeño logo de Excel a la izquierda del menu Archivo
2) Elige la opcion 'Ver Codigo' para abrir el editor VBA.
3) Una vez en el Editor VBA, ve al menu Insertar>Modulo...
4) En la ventana mas grande a la derecha pega el codigo que te pasaron en la otra respuesta
5) Pulsa Alt+F11 para volver a la hoja.
6) Ahora puedes usar la funcion (solo en este archivo) como si fuera una funcion normal y corriente, p.ej. en una celda introduces:

=EnLetras(A1;1)

o bien

=EnLetras(A1;2)

o bien

=EnLetras(A1;3)

o bien

=EnLetras(A1;4)

Saludos,
KL

Respuesta Responder a este mensaje
#9 Gerson Miranda
28/03/2006 - 21:36 | Informe spam
hola KL, esto fue lo que hice

pegue el siguiente algoritmo, segun tus instrucciones, luego corri la
formula sig =EnLetras(A1;1) pero no la reconoce aun, me suacribi en esta
pagina y baje un zip http://www.elguille.info/vb/utilida...2Text.htm,
pero no se donde colocarlo



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


"KL" escribió:

Hola Gerson,

A ver, vayamos por partes ;-) ?Que quiere decir exactamente "no me funciono"? ?Podrias explicar que es lo que has hecho, que datos y en que celdas tienes, la formula que has introducido y donde la has introducido, que error has obtenido?

Saludos,
KL


"Gerson Miranda" wrote in message news:
> Gracias KL, probe de esa manera pero no me funciono, tambien baje un zip de
> la pagina de elguille, no se si sabes como instalar ese zip?
>
>
> gracias
>
> "KL" escribió:
>
>> Hola Gerson,
>>
>> > Francisco GMAIL me paso un algoritmo pero no se donde pegarlo,
>> > para poder utilizarlo como funcion, me podrias dar alguna direccion.
>>
>> Prueba hacer lo siguiente:
>>
>> Con el archivo en cuestion abierto...
>> 1) Haz clic-derecho sobre el pequeño logo de Excel a la izquierda del menu Archivo
>> 2) Elige la opcion 'Ver Codigo' para abrir el editor VBA.
>> 3) Una vez en el Editor VBA, ve al menu Insertar>Modulo...
>> 4) En la ventana mas grande a la derecha pega el codigo que te pasaron en la otra respuesta
>> 5) Pulsa Alt+F11 para volver a la hoja.
>> 6) Ahora puedes usar la funcion (solo en este archivo) como si fuera una funcion normal y corriente, p.ej. en una celda introduces:
>>
>> =EnLetras(A1;1)
>>
>> o bien
>>
>> =EnLetras(A1;2)
>>
>> o bien
>>
>> =EnLetras(A1;3)
>>
>> o bien
>>
>> =EnLetras(A1;4)
>>
>> Saludos,
>> KL
>>

Respuesta Responder a este mensaje
#10 KL
28/03/2006 - 22:03 | Informe spam
Hola Gerson,

Por Dios ! :-) Que quiere decir "no la reconoce"? Que error te da exactamente? Te lo pondre mas facil - #¿NOMBRE? o #¡VALOR!

Otra cosa, cuando pegas el codigo...
1) Pegas todo el codigo o solo una parte?
2) Algunas lineas aparecen en rojo?

Saludos,
KL


"Gerson Miranda" wrote in message news:
hola KL, esto fue lo que hice

pegue el siguiente algoritmo, segun tus instrucciones, luego corri la
formula sig =EnLetras(A1;1) pero no la reconoce aun, me suacribi en esta
pagina y baje un zip http://www.elguille.info/vb/utilida...2Text.htm,
pero no se donde colocarlo



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


"KL" escribió:

Hola Gerson,

A ver, vayamos por partes ;-) ?Que quiere decir exactamente "no me funciono"? ?Podrias explicar que es lo que has hecho, que datos y en que celdas tienes, la formula que has introducido y donde la has introducido, que error has obtenido?

Saludos,
KL


"Gerson Miranda" wrote in message news:
> Gracias KL, probe de esa manera pero no me funciono, tambien baje un zip de
> la pagina de elguille, no se si sabes como instalar ese zip?
>
>
> gracias
>
> "KL" escribió:
>
>> Hola Gerson,
>>
>> > Francisco GMAIL me paso un algoritmo pero no se donde pegarlo,
>> > para poder utilizarlo como funcion, me podrias dar alguna direccion.
>>
>> Prueba hacer lo siguiente:
>>
>> Con el archivo en cuestion abierto...
>> 1) Haz clic-derecho sobre el pequeño logo de Excel a la izquierda del menu Archivo
>> 2) Elige la opcion 'Ver Codigo' para abrir el editor VBA.
>> 3) Una vez en el Editor VBA, ve al menu Insertar>Modulo...
>> 4) En la ventana mas grande a la derecha pega el codigo que te pasaron en la otra respuesta
>> 5) Pulsa Alt+F11 para volver a la hoja.
>> 6) Ahora puedes usar la funcion (solo en este archivo) como si fuera una funcion normal y corriente, p.ej. en una celda introduces:
>>
>> =EnLetras(A1;1)
>>
>> o bien
>>
>> =EnLetras(A1;2)
>>
>> o bien
>>
>> =EnLetras(A1;3)
>>
>> o bien
>>
>> =EnLetras(A1;4)
>>
>> Saludos,
>> KL
>>

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida