Objeto para formulas
Publicado por Juan (9 intervenciones) el 26/01/2006 05:04:42
Dentro de una macro que abre y consulta varios archivos necesito realizar ciertas operaciones con fórmulas de excel con los mismos.
El problema se me da con las fórmulas de excel, ya que para funcionar necesitan estar asociadas a un Object. Actualmente utilizo una celda (objeto) donde guardar el valor, y después guardarlo en una matriz; pero éste método es muy lento.
Quisiera saber de que forma podría guardar el valor de la operación directamente a la matriz:
Lo que hago ahora es:
....
dim valorform(10) as array
.....
activecell.formula="=sumif(........)" 'o la fórmula que sea
.....
windows(libro).activate
.....
valorform(a)=activecell.value
....
La acción de cambiar de libro demora mucho el proceso. Hay algún artilugio para que las fórmulas de excel me devuelvan el resultado dentro de la macro, evitando que tener que asociarla a un objeto como lo es la celda y así poder guardar el valor calculado en una variable o matriz más rápidamente.
Agradecería su colaboración.
PD: otra duda, estoy buscando hace mucho tiempo las líneas de código para evitar que durante la ejecución de una macro la pantalla de excel siga los cambios que se van haciendo, y quede fija hasta el final de la ejecución. No recuerdo donde lo vi y menos aún lo he vuelto a encontrar.
Saludos
El problema se me da con las fórmulas de excel, ya que para funcionar necesitan estar asociadas a un Object. Actualmente utilizo una celda (objeto) donde guardar el valor, y después guardarlo en una matriz; pero éste método es muy lento.
Quisiera saber de que forma podría guardar el valor de la operación directamente a la matriz:
Lo que hago ahora es:
....
dim valorform(10) as array
.....
activecell.formula="=sumif(........)" 'o la fórmula que sea
.....
windows(libro).activate
.....
valorform(a)=activecell.value
....
La acción de cambiar de libro demora mucho el proceso. Hay algún artilugio para que las fórmulas de excel me devuelvan el resultado dentro de la macro, evitando que tener que asociarla a un objeto como lo es la celda y así poder guardar el valor calculado en una variable o matriz más rápidamente.
Agradecería su colaboración.
PD: otra duda, estoy buscando hace mucho tiempo las líneas de código para evitar que durante la ejecución de una macro la pantalla de excel siga los cambios que se van haciendo, y quede fija hasta el final de la ejecución. No recuerdo donde lo vi y menos aún lo he vuelto a encontrar.
Saludos
Valora esta pregunta


0