Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/12/2009, 16:40
sesebas
 
Fecha de Ingreso: enero-2009
Mensajes: 173
Antigüedad: 16 años, 1 mes
Puntos: 1
ActiveCell.Value me devuelve valor en notación científica!!!

Hola amigos,

Me encontré con un problema que ya no se por dónde resolver.

Tengo dos valores (ambos definidos con formato general en la planilla excel) :

a) 0,137334665497707

b) 0,0747172646344754

Situación:

Necesito pasar a una variable sólo los ocho primero decimales después de la coma y cambiar ésta última por un punto. Esto lo hago con:
Código VBasic:
Ver original
  1. MiVar = Mid(ActiveCell.Value, 3, 8)
  2. Sale = "." & MiVar

Resultado:

En el primer caso me devuelve .13733466; mientras que en el segundo me entrega .47172646

Ya descubrí que la razón se debe a que ActiveCell.Value
"lee": 7,47172646344754E-02

Alguien me puede ayudar con una idea de cómo evitar esto y obtener lo que necesito? (.07471726). Llevo un par de horas intentando una y otra solución (cambio de formato en la planilla y en VBasic; convertir a texto antes de obtener el valor en el programa... en fin muchas cosas y nada... siempre me entrega lo mismo, bueno con la excepción que si lo convierto a Integer me devuelve 0... lo que está bien) .

Mmmm, tengo que decir que la planilla de datos fue hecha en Excel 2007 y la convertí a 2003, será esto?... ya no se qué pensar.

Gracias a quien me pueda ayudar!