У меня есть этот код VBA, который попарно применяет условное форматирование к моему листу. Под этим я подразумеваю, что он ищет дубликаты из BC, DE, FG и т. д. Проблема в том, что он делает это для всего столбца, и это действительно замедляет мой лист.
Когда я проверяю правила, сгенерированные этим кодом, например, для столбцов B и D, они применяются к: =$B$1:$C$87,$B$89:$C$1048576. Причина, по которой это пропускает ROW 88, заключается в том, что у меня есть итоги в этой строке и удалены все правила. Есть ли способ изменить этот код, чтобы он применялся только к строкам 87 и выше, а не ко всему листу? Сейчас это значительно замедляет работу.
Sub findDups()
Dim startCell As Range
Dim formatCols As Range
Set startCell = ActiveCell
Do
Set formatCols = startCell.Resize(1, 2).EntireColumn
formatCols.FormatConditions.AddUniqueValues
formatCols.FormatConditions(formatCols.FormatConditions.Count).SetFirstPriority
formatCols.FormatConditions(1).DupeUnique = xlDuplicate
With formatCols.FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
With formatCols.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13551615
.TintAndShade = 0
End With
Set startCell = startCell.Offset(0, 2)
Loop Until startCell.Column >= 26
End Sub
Application.ScreenUpdating = False
во время выполнения вашего кода VBA и снова установить значение true после его завершения. - person Pieter Geerkens   schedule 26.06.2013