Пользовательская функция выдает ошибку, если строки удалены - PullRequest
0 голосов
/ 23 апреля 2019

У меня есть пользовательская формула для суммирования всех ячеек в таблице с определенным 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

Here's the formula, GENDIR is the name of the column

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...