Lanzar función al cambiar formato de celda

10/05/2006 - 15:06 por Juanjo | Informe spam
Quisiera que al cambiar el formato de una celda (Color de el fondo por
ejemplo) se actualize la función que tengo en la celda A1 (la función es
=CuentaColor(B1;C1:C15) )

Es decir, si cambio el color de fondo una celda en el rango C1:C15 que se
actualize la función de la celda A1.

Gracias.
 

Leer las respuestas

#1 Héctor Miguel
11/05/2006 - 02:56 | Informe spam
hola, Juanjo !

Quisiera que al cambiar el formato de una celda (Color de el fondo por ejemplo)
se actualize la funcion que tengo en la celda A1 (... =CuentaColor(B1;C1:C15) )
Es decir, si cambio el color de fondo una celda en el rango C1:C15
que se actualize la funcion de la celda A1.



1) [hasta donde se]... NO existe ningun evento que 'detecte' un -simple- cambio de formato en las celdas :-(

2) una -posible- alternativa es que combines dos instrucciones para 'truquear' el efecto que buscas:
a) usa como PRIMERA instruccion en el codigo de tu funcion la siguiente:
Application.Volatile
b) 'obliga' al excel a efectuar un re/calculo del modelo -> cada vez que cambies de celda 'activa'
poniendo en el modulo de codigo de la hoja donde usas la funcion lo siguiente:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.Calculate
End Sub
o... si la funcion la utilizas en varias hojas [y no quieres 'duplicar' el codigo en cada modulo de hoja]...
pon en el modulo de codigo del libro [ThisWorkbook] lo siguiente:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.Calculate
End Sub

3) otra alternativa es cambiar la funcion personalizada por nombres definidos y macro-funciones de excel4 :)

[de todas formas] considera que el rendimiento de tu modelo pudiera ver reflejada una cierta... 'desmejora' :-(

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Preguntas similares