Alternativa ao Application.Volatile para atualizar automaticamente o UDF [duplicado]
Esta pergunta já tem uma resposta aqui:
Valores do Excel não atualizados 2 respostasEu 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.