Здравствуйте. Есть макрос, который при вводе значения в ячейку E2, подсвечивает красным похожие значения в диапазоне C7:E. Он работает исправно, но крайне медленно. При объеме данных в 20 000 строк, где в каждой строке присутствует искомый элемент, время работы макроса составляет от 5 сек и выше. Есть предположение, что с помощью массива работа макроса будет быстрее.
Поэтому прошу помощи у специалистов в доработке кода макроса, чтобы обращение шло не к ячейкам, а к массиву.
Поэтому прошу помощи у специалистов в доработке кода макроса, чтобы обращение шло не к ячейкам, а к массиву.
Код |
---|
Sub iCol() Application.EnableEvents = False Dim iRng As Range, iAddr$ If Len([E2]) > 0 Then With Range("C7:E" & ActiveSheet.UsedRange.Rows.Count) Range("C7:E" & ActiveSheet.UsedRange.Rows.Count).Font.Color = RGB(0, 0, 0) Set iRng = .Find([E2], After:=.Cells(.Cells.Count), LookIn:=xlValues) If Not iRng Is Nothing And Len([E2]) > 0 Then iAddr = iRng.Address Do iRng.Font.Color = RGB(218, 16, 16) Set iRng = .FindNext(iRng) Loop While Not iRng Is Nothing And iRng.Address <> iAddr End If End With End If If Len([E2]) = 0 Then Range("C7:E" & ActiveSheet.UsedRange.Rows.Count).Font.Color = RGB(0, 0, 0) End If Application.EnableEvents = True End Sub |