Recalcular función definida por usuario

30/01/2009 - 13:13 por Pamukkale | Informe spam
Hola a tod@s
Tengo la siguiente función que me cuenta (=contarcolor(B9:AF9)) un
determinado color de fondo (amarillo) de varias celdas:

Function ContarColor(Rg)
Dim C As Range
For Each C In Rg.Cells
If C.Interior.ColorIndex = 6 Then
ContarColor = ContarColor + 1
End If
Next C
End Function

La función va perfecta. El único problema es que si cambias o añades un
fondo a las celdas, los resultados de la formula no se actualizan, no se
recalculan automáticamente.
Agradecería que alguien encontrase una solución para que los valores
resultantes se recalculen cuando sea necesario.
Gracias
 

Leer las respuestas

#1 Héctor Miguel
30/01/2009 - 19:30 | Informe spam
hola, (...) ?????

(hasta donde se) no existe ningun "evento" (aun hasta la version 2007) que "detecte" o se dispare...
-> por el "simple" hecho de cambiar el formato de las celdas :-((

lo que podrias hacer es usar la instruccion -> Application.Volatile al inicio de la funcion pesonalizada
y esperar al siguiente re/calculo del modelo para que el resultado de tu funcion se actualice
o forzar a un recalculo p.e. en el evento '_selectionchange' en el modulo de "la hoja" donde usas la funcion...
y/o en el modulo del libro en el evento 'selectionchange' aplicable a cualquiera de sus hojas -?-

ve si te sirve alguna de los siguientes grupos de conversaciones como alternativa:
-> http://tinyurl.com/mqbjb
-> http://tinyurl.com/efsvq

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ OP __
Tengo la siguiente funcion que me cuenta (=contarcolor(B9:AF9)) un determinado color de fondo (amarillo) de varias celdas:
Function ContarColor(Rg)
Dim C As Range
For Each C In Rg.Cells
If C.Interior.ColorIndex = 6 Then
ContarColor = ContarColor + 1
End If
Next C
End Function
... El unico problema es que si cambias o anades un fondo a las celdas, los resultados de la formula no se actualizan
... una solucion para que los valores resultantes se recalculen cuando sea necesario...

Preguntas similares