Как быстрее применить формулу условного форматирования к большому диапазону

Я создал формулу условного форматирования

=AND(SUMPRODUCT(($A$2:$A$" & lastRow & "=$A2)*($CT$2:$CT$" & lastRow & "=$CT2)*($CU$2:$CU$" & lastRow & "=$CU2)*($CV$2:$CV$" & lastRow & "=$CV2)*($CW$2:$CW$" & lastRow & "=$CW2))>1,$CT2 <> """")"

Поиск и выделение дублирующих начислений на основе нескольких критериев: XID продукта (столбец A), критерий пополнения 1 (столбец CT), критерий пополнения 2 (CU столбца), тип пополнения (CV столбца) и уровень пополнения (CW столбца). Формула работает как очарование, выделяя дубликаты; однако большую часть времени мне приходится применять его к большому количеству строк (более 15000), и для применения формулы условного формата требуется более 10 минут. Мне было любопытно, есть ли более быстрый способ применения этой формулы для такого количества клеток. Весь мой код для справки

'File Complete, highlights duplicate upcharges for products and skips over blank upcharge rows
Sub dupUpchargeCheck()

Dim lastRow As Integer
lastRow = ActiveSheet.Cells(Rows.Count, "CS").End(xlUp).Row
ActiveSheet.Range("CS2:CS" & lastRow).Select
With ActiveSheet.Range("CS2:CS" & lastRow)
    .FormatConditions.Add Type:=xlExpression, Formula1:="=AND(SUMPRODUCT(($A$2:$A$" & lastRow & "=$A2)*($CT$2:$CT$" & lastRow & "=$CT2)*($CU$2:$CU$" & lastRow & "=$CU2)*($CV$2:$CV$" & lastRow & "=$CV2)*($CW$2:$CW$" & lastRow & "=$CW2))>1,$CT2 <> """")"
    .FormatConditions(.FormatConditions.Count).Interior.ColorIndex = 3
End With

End Sub

Любой совет приветствуется!

РЕДАКТИРОВАТЬ:

Немного поиграв, я понял, что моя проблема не в применении формулы условного форматирования к диапазону ячеек, а на самом деле, когда я щелкаю раскрывающийся список, чтобы отфильтровать цвет (после запуска кода и применяется условное форматирование) для появления выпадающего списка фильтра требуется вечность (я полагаю, потому что все формулы рассчитываются в то время?). Есть идеи, как мне обойти эту проблему? Я попробовал одно из предложений @NatecalcState = Application.Calculationпоместив его прямо перед строкой, в которой я фильтровал (через vba), в надежде, что это остановит выполнение вычислений, когда система попыталась показать окно фильтра, но это все равно будет длиться вечно. С добавлениемApplication.ScreenUpdating = False&nbsp;время обработки занимает немного меньше времени (около 551 секунды для 15000 строк). Боюсь, это будет лучшим, я смогу получить его, если у кого-то еще нет никаких предложений?