Excel - Agregar formulas "SI" e "Y" por código

   
Vista:

Agregar formulas "SI" e "Y" por código

Publicado por Pau Comas i Ribas (4 intervenciones) el 16/03/2012 17:03:48
Intento introducir vía código una fóruma similar a "=SI(Y($A250>0;$A250=>25000);11000;0)", mediante la instruccion:

destino.Formula = str1

donde destino es de tipo Range y str1 un String con el valor que quiero introducir.

Esto me da ERROR. con la misma instruccion pero poniendo en str1 otras fórmulas, como SUSTITUIR, p.ej., no me da error. Haciendo pruebas he comprobado que tanto la fórmula SI como la fórmula Y me producen error al introducirlas por código.

Opté por una solución que es introducirlas como valores (sin el "=") y luego cambiarlas con un SUSTITUIR. Parecía que funcionaba, pues introduce las fórmulas correctamente, pero no las evalúa (calcula)
Si manualmente te sitúas en la celda, pulsa F2 como si editases y pulsas ENTER o RETURN, sin cambiar nada se evalúa o calcula la fórmula correctamente.

El caso es que se trata de una matriz de mXn fórmulas semejantes, cuyos valores dependen del código que se haya ejecutado previamente, así como la dimensión de la matriz de fórmulas

¿Alguna IDEA para ayudare?
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
Imágen de perfil de JuanC

Agregar formulas

Publicado por JuanC juanc2942@gmail.com (1053 intervenciones) el 16/03/2012 21:46:47
probá así
destino.Formula = "=if(and(A250>0,A250>=25000),11000,0)"
también podría servirte FormulaLocal

Saludos, desde Baires, JuanC
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

Agregar formulas

Publicado por Pau Comas i Ribas (4 intervenciones) el 16/03/2012 23:24:56
Gracias por la solución.

La primera opción
destino.Formula = "=if(and(A250>0,A250>=25000),11000,0)"
ya la probé, pero no funcionaba ; la segunda, con FormulaLocal:

destino.FormulaLocal = "=SI(Y($A250>0;$A250=>25000);11000;0)"

la desconocía y funciona sin ningún problema.

De nuevo, Gracias. Te debo un
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