Valores no coinciden

19/04/2006 - 19:40 por César G. | Informe spam
Saludos a tod@s

Mi pregunta va enfocada a una cuestion, el panorama es el siguiente;
Teniendo un archivo con resultados en porcentajes tengo que "volcar" ciertos
resultados a otra "Plantilla" como un resumen de resultados, hasta ahí todo
bien, pero resulta que en el archivo de origen tengo p.e. 90 % el formato de
celda es Porcentaje con 0 decimales, pero cuando lo pego en la plantilla me
deja el valor de 89.9999976158142 %

Claro en la celda se redondea a 90 %, pero el problema surge porque en la
plantilla tengo un formato condicional que colorea la misma dependiendo si
es menor a 90.

Debo decirles que, como son muchas las celdas a llenar en la plantilla
declaro un arreglo de tipo Single para recoger los datos y después usar este
mismo para pegarlo en la plantilla

Utilizo la función format para asignarle solo 2 decimales pero continua
pegando el valor que les

If Cells(R + 11, i).Value <> "" Then
P11(Agen, 3) = Format(Cells(R + 11, i).Value, ".00")
End If

Agradezco de antemano su ayuda
César Galicia
Soporte Técnico
TNS-Gallup
 

Leer las respuestas

#1 Héctor Miguel
23/04/2006 - 06:51 | Informe spam
hola, César !

... con resultados en porcentajes tengo que "volcar" ciertos resultados a otra "Plantilla"
... en el archivo de origen tengo p.e. 90 % el formato de celda es Porcentaje con 0 decimales
... cuando lo pego en la plantilla me deja el valor de 89.9999976158142 %
... en la celda se redondea a 90 %, pero... tengo un formato condicional que colorea... si es menor a 90 -> [% ?].
... declaro un arreglo de tipo Single para recoger los datos y despues usar este mismo para pegarlo en la plantilla
Utilizo la funcion format para asignarle solo 2 decimales pero continua pegando el valor que les
If Cells(R + 11, i).Value <> "" Then
P11(Agen, 3) = Format(Cells(R + 11, i).Value, ".00")
End If



1) he 'pegado' el valor que expones [-> 89.9999976158142 %] en la celda 'A1' de un libro nuevo
['automaticamente' la celda 'asume' un formato de porcentaje a cero decimales] :))

2) seleccionando 'otra' celda, he corrido la siguiente instruccion desde la ventana de inmediato en el edirot de vba...
-> activecell = [a1]: activecell.offset(1) = format([a1],".00")

3) los resultados que obtengo son [SIN formato alguno en ambas]:
a) en la 'nueva' celda activa: -> 0.899999976158142
b) en la celda siguiente... -> 0.9

4) resultado ? [a mi]... SI me esta 'funcionando' la instruccion: -> Format([a1], ".00")

5) opciones ? [probablemente]... necesitaras revisar [y/o corregir o adaptar]...
a) la formula/instruccion con que estas aplicando el formato condicional -?- [menor a 90... ->%<- ???]
b) [quizas]... si le agregas la funcion redondear(...) -> a las condiciones del formato condicional ?
para forzar el redondeo 'comparativo' a 2 decimales -?-

-> la otra posibilidad es que tuvieras librerias 'perdidas' en el proyecto de macros -???-
-> revisa en el editor de vba en el menu herramientas / referencias...

comentas [si hubiera] algun detalle mas... 'significativo' ?
saludos,
hector.

Preguntas similares