Saber celda que cambia

18/12/2005 - 12:48 por Principiante | Informe spam
Hola grupo.

En una hoja voy cambiando el color de fondo de una celda y hago una suma
de las celdas que poseen el mismo color de fondo.

El caso es que la función que hace esa suma se recalcula cada vez que se
produce un cambio del valor de alguna de las celdas con ese color. Para
que se recalculen cada vez que haya algún cambio en esa celda he puesto
en el evento de la hoja: Worksheet_SelectionChange la instrucción:
Application.CalculateFull

Lo que busco es saber como hacer para que sólo se recalcule todo cuando
se produzca un cambio de color en la celda donde voy cambiando el color
para sumar Ej: C2 pues sino se ejecuta cada vez que salgo de una celda
por ejemplo.

Supongo que se debe controlar el parámetro Target de la función pero no
sé como hacerlo.

Gracias por cualquier ayuda.

Principiante.
 

Leer las respuestas

#1 KL
18/12/2005 - 13:16 | Informe spam
Hola Prinicpiante,

Suponiendo que las celdas que pueden cambiar de color pueden estar en el rango [A2:A20], prueba empezar tu procedimiento con:

If Intersect(Target, [A2:A20]) Is Nothing Then Exit Sub

Suponiendo que las celdas que pueden cambiar de color pueden estar en toda la columna [A] prueba empezar tu procedimiento con:

If Intersect(Target, [A:A]) Is Nothing Then Exit Sub

Y por cierto, si la asignacion de colores a las celdas se hace con algun criterio racional, seguramente se podria evitar contar los
colores y contar esos casos que provocan la variacion de color. Explicas mas detalles?

Saludos,
KL


"Principiante" wrote in message news:%
Hola grupo.

En una hoja voy cambiando el color de fondo de una celda y hago una suma de las celdas que poseen el mismo color de fondo.

El caso es que la función que hace esa suma se recalcula cada vez que se produce un cambio del valor de alguna de las celdas con
ese color. Para que se recalculen cada vez que haya algún cambio en esa celda he puesto en el evento de la hoja:
Worksheet_SelectionChange la instrucción: Application.CalculateFull

Lo que busco es saber como hacer para que sólo se recalcule todo cuando se produzca un cambio de color en la celda donde voy
cambiando el color para sumar Ej: C2 pues sino se ejecuta cada vez que salgo de una celda por ejemplo.

Supongo que se debe controlar el parámetro Target de la función pero no sé como hacerlo.

Gracias por cualquier ayuda.

Principiante.

Preguntas similares