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?
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


0