У меня есть пользовательская формула для суммирования всех ячеек в таблице с определенным BackColor (спасибо StackOverflow!)
Function SumByColor(CellColor As Range, rRange As Range)
Dim cSum As Long
Dim ColIndex As Integer
ColIndex = CellColor.Interior.ColorIndex
For Each cl In rRange
If cl.Interior.ColorIndex = ColIndex Then
cSum = WorksheetFunction.Sum(cl, cSum)
End If
Next cl
SumByColor = cSum
End Function
Это вставляется в TotalsRowRange таблицы Excel.
Я создал пару пользовательских кнопок для добавления новых строк и удаления строк для каждого сотрудника в таблице, каждая из которых имеет 3 строки с формулами часов, процентов и заработной платы.
Если добавитьВ новых строках функция SumByColor работает отлично, а вновь созданные строки автоматически включаются в сумму (она суммирует светлые зеленые строки).
Но когда я удаляю строки, Функция SumByColor не обновляет корректность и выдает ошибку «VALUE».Простой двойной клик и OK в ячейке сбрасывает формулу для нормальной работы.Я попробовал метод Calculate для объекта TotalsRowRange, не повезло.
![Here's the error after deleting rows](https://i.stack.imgur.com/Fa2Yv.png)
![Here's the formula, GENDIR is the name of the column](https://i.stack.imgur.com/JKxLB.png)