Цитата |
---|
MrBabka написал: чтобы если нужно ещё закрасить ячейку, то формула автоматически пересчитывала |
Нет, так не получится, максимум можно сделать, что б функция пересчитывалась каждый раз при пересчете листа, для этого просто добавить одну строку Application.Volatile
Код |
---|
Function NonColoredAverage(A As Range)
Dim s As Double
Dim q As Long
Application.Volatile
For Each MCell In A
If IsNumeric(MCell) And MCell.Interior.ColorIndex = -4142 Then
s = s + MCell.Value
q = q + 1
End If
Next
NonColoredAverage = s / IIf(q > 0, q, 1)
End Function |
, но форматированеи ячейки это не вызывает, а значит надо писать обработчик изменений на листе и это уже относится к конкртеному файлу, а не к функции..