Macro para quitar digitos....

23/01/2008 - 05:20 por Roberto | Informe spam
Buen dia grupo tengo una serie da datos que al importar los de un xml por
ejemplo si el numero es 123.23 me lo importa a excel como 12323 por lo que
quisiera me pudieran apoyar al desarrollo de una macho para quitar los dos
ultimos digitos y dejar mi numero en 123, de antemano muchas gracias.
 

Leer las respuestas

#1 Héctor Miguel
23/01/2008 - 07:09 | Informe spam
hola, Roberto !

... tengo una serie da datos que al importar los de un xml
por ejemplo si el numero es 123.23 me lo importa a excel como 12323
por lo que quisiera me pudieran apoyar al desarrollo de una macho para quitar los dos ultimos digitos
y dejar mi numero en 123, de antemano muchas gracias...



hay dos o tres detalles que no quedan claros en tu consulta (p.e.)
- cual es el rango donde quedan tus numeros "importados" ?
- cuales son tus separadores de miles-decimales ? (coma-punto... punto-coma) ?
- si tu dato "original" fuera p.e. 123.00 la importacion lo deja como 12300 ???
- si tu dato "original" fuera p.e. 123.99, necesitas dejarlo como 123 ?... o 124 ?
- posiblemente haya algun otro detalle "en el tintero" -?-

en via de mientras, si suponemos que tus numeros importados estan en el rango [A2:A35]
prueba desde el editor de vba, en la ventana de inmediato (atajo de teclado {ctrl}+G)
con alguna de las siguientes instrucciones (pulsando {enter} para ejecutarlas desde la ventana de inmediato)
y... (obviamente) estado como hoja activa la hoja apropiada :))
(asumiendo que todos los numeros con cero decimales pasan como "00" al final) -?-

op1: para convertir (un "original" de 123.99 y) la importacion de 12399 a solo 123
[a2:a35] = evaluate("transpose(int(transpose(a2:a35/100)))")

op2: para convertir (un "original" de 123.99 y) la importacion de 12399 al siguiente redondeo 124
[a2:a35] = evaluate("transpose(round(transpose(a2:a35/100),0))")

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Preguntas similares