Excel - convertir un numero

 
Vista:

convertir un numero

Publicado por pedro flores (10 intervenciones) el 02/05/2008 17:50:26
Hol@

conocen alguna funcion que haga esto

a1= 12 b1= decimo segunda
a2= 23 b2= vigesimo tercera

y asi para cualquier numero

saludos
Pedro
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:convertir un numero

Publicado por Luis Fernando (803 intervenciones) el 03/05/2008 00:54:12
Debe ser solo con una macro, similar a la de pasar números a su equivalente en letras.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:convertir un numero

Publicado por galileogali (107 intervenciones) el 03/05/2008 06:26:46
http://excelgali.mejorforo.net/funciones-y-formulas-f4/ordinal-en-letras-a-partir-del-numero-t121.htm#242

Ahi tenes algo que termine recien, sencillito pero cubre las expecattivas en el intervalo 1-999.

GALILEOGALI
http://excelgali.mejorforo.net/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:convertir un numero

Publicado por Luis Fernando (803 intervenciones) el 03/05/2008 19:34:53
Pedro prueba pegando el siguiente código:

Function Orden(ByVal inValue As Long) As String
Dim Unidades, Decenas, Cientos
Dim n As Long
Dim unit As Long, ten As Long, hund As Long

Unidades = Array("", "Primero", "Segundo", "Tercero", "Cuarto", _
"Quinto", "Sexto", "Séptimo", "Octavo", "Noveno", "Décimo")
Decenas = Array("", "Décimo ", "Vigésimo ", "Trigésimo ", "Cuadragésimo ", _
"Quincuagésimo ", "Sexagésimo ", "Septuagésimo ", "Octogésimo ", "Nonagésimo ")
Cientos = Array("", "Centésimo ", "Ducentésimo ", "Tricentésimo ", "Cuadrigentésimo ", _
"Quingentésimo ", "Sexcentésimo ", "Septigentésimo ", "Octingentésimo ", "Noningentesimo ")
Orden = ""
n = inValue

hund = n 100
Orden = Orden & Cientos(hund)

n = n - hund * 100


ten = n 10

unit = n - ten * 10
Orden = Orden & Decenas(ten) & Unidades(unit)

Orden = (Trim(Orden))

End Function


Como creo que hay casos entre otros que no se dice:
Décimo Segundo sino Duodécimo, averiguo y la mejoro Ok ?

Cordial saludo desde Pereira Colombia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:convertir un numero

Publicado por Luis Fernando (803 intervenciones) el 03/05/2008 20:01:03
Parece que ya no hay problema con lo que yo había planteado en duda pues segun la RAE ya son aceptados, se puede ver en:

http://www.wikilengua.org/index.php/N%C3%BAmeros_ordinales#N.C3.BAmeros_menores_de_veinte

Ah, pero otros como bicentésimo , cuadricentésimo, quintucentésimo, sexticentesimo, septuacentésimo, octocentésimo y nonacentesimo
parece que aun no son aun aceptados.

Luego el cógigo no tendría problema.

Cordial saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:convertir un numero

Publicado por GALILEOGALI (107 intervenciones) el 03/05/2008 21:45:25
Aparentemente:
n = inValue

hund = n 100
Orden = Orden & Cientos(hund)

n = n - hund * 100

ten = n 10

Faltan los operadores "/"? hund = n/100?
ten= n/10?

Ahora bien si los agregamos....como funciona para el Numero 146?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:convertir un numero

Publicado por Luis Fernando  (803 intervenciones) el 03/05/2008 22:37:24
No señor Galileo no debe usar el operador por usted sugerido, lo que pasó fue que al copiar el codigo no pasó correctamente un simbolo ivertido de "/" pero y este extrae la parte enteraque es un efecto diferente a solo dividir.

entonces favor usar hund = n 100

y luego usar ten = n 10

y si los usa como yo le digo deberá salir con 146 Centésimo Cuadragésimo Sexto

en cambio si usa el operador por usted propuesto dará #¡VALOR!


Como siempre cordial saludo

Ah Pedro, te haré llegar el archivo con el codigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:convertir un numero

Publicado por Luis Fernando (803 intervenciones) el 03/05/2008 22:46:20
Veo que efectivamente el "/" invertido no se ve al descargar aqui el código, pero quien lo necesite lo puede colocar segun la instrucción dada. No es "/" sino el invertido de este.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:convertir un numero

Publicado por Luis Fernando (803 intervenciones) el 03/05/2008 23:05:11
Ahora sino se quiere usar ese operador entonces con la funcion entero puede ser asi:

Function Orden(ByVal inValue As Long) As String
Dim Unidades, Decenas, Cientos
Dim n As Long
Dim unit As Long, ten As Long, hund As Long

Unidades = Array("", "Primero", "Segundo", "Tercero", "Cuarto", _
"Quinto", "Sexto", "Séptimo", "Octavo", "Noveno", "Décimo")
Decenas = Array("", "Décimo ", "Vigésimo ", "Trigésimo ", "Cuadragésimo ", _
"Quincuagésimo ", "Sexagésimo ", "Septuagésimo ", "Octogésimo ", "Nonagésimo ")
Cientos = Array("", "Centésimo ", "Ducentésimo ", "Tricentésimo ", "Cuadrigentésimo ", _
"Quingentésimo ", "Sexcentésimo ", "Septigentésimo ", "Octingentésimo ", "Noningentesimo ")
Orden = ""
n = inValue

hund = Int(n / 100)
Orden = Orden & Cientos(hund)

n = n - hund * 100


ten = Int(n / 10)

unit = n - ten * 10
Orden = Orden & Decenas(ten) & Unidades(unit)

Orden = (Trim(Orden))

End Function


y tambien funciona para el 146 de Galileo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:convertir un numero

Publicado por GALILEOGALI (107 intervenciones) el 04/05/2008 00:05:55
Luis fernando: pues que hoy he aprendido dos cosas
1) que Backsalsh, equivale a Int
o mejor dicho: Int(23/5) = 23 backslash 5
Muy Bueno
y
2) los terminos aceptados por la Academia para ciertos ordinales de elevada "talla"
Muchas Gracias,
Luis Fernando
Y ahora un permiso
Puedo publicar tu UDF EN MI fORO?

galileogali

HTTP://excelgali.mejorforo.net/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:convertir un numero

Publicado por Luis Fernando (803 intervenciones) el 04/05/2008 01:45:18
Quiere eso decir que ya le funcionó el codigo ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:convertir un numero

Publicado por Luis Fernando (803 intervenciones) el 07/05/2008 01:50:08
Ya lo pueden ver en:

http://www.lawebdelprogramador.com/codigo/enlace.php?idp=1660&id=127&texto=Excel

que es la seccion de Codigos en Excel, Programas y utilidades

Saludos desde Pereira Colombia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar