Alternativa ao Application.Volatile para atualizar automaticamente o UDF [duplicado]

Esta pergunta já tem uma resposta aqui:

Valores do Excel não atualizados 2 respostas

Eu tenho uma função que saí do MSDN que conta o número de células em um intervalo que tem uma outra cor de células.

Aqui está o código

Function countCcolor(range_data As Range, criteria As Range) As Long
    Application.Volatile
    Application.ScreenUpdating = False
    Dim datax As Range
    Dim xcolor As Long
xcolor = criteria.Interior.ColorIndex
For Each datax In range_data
    If datax.Interior.ColorIndex = xcolor Then
        countCcolor = countCcolor + 1
    End If
Next datax
Application.ScreenUpdating = True
End Function

Um requisito para essa função é que ela seja atualizada sempre que o valor da cor de uma célula for alterado.

Minha idéia é criar um evento para quando a cor de uma célula for alterada e recalcular a célula any com a função, mas não tenho certeza se essa é a melhor maneira.

questionAnswers(1)

yourAnswerToTheQuestion