Выделите Дубликаты между двумя диапазонами на разных листах

Я пытаюсь найти более эффективный способ выделить дубликаты ячеек между двумя диапазонами на разных листах. Ниже приведенный ниже код очень медленный:

Sub HighlightDuplicates() Application.DisplayAlerts = False lrU = Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row lrPT = Sheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row Dim rng1, rng2, cell1, cell2 As Range Set rng1 = Worksheets("Sheet1").Range("DL4:DL" & lrU) Set rng2 = Worksheets("Sheet2").Range("E3:M" & lrPT) For Each cell1 In rng1 For Each cell2 In rng2 If cell1.Value = cell2.Value Then cell1.Font.Bold = True cell1.Font.ColorIndex = 2 cell1.Interior.ColorIndex = 3 cell1.Interior.Pattern = xlSolid cell2.Font.Bold = True cell2.Font.ColorIndex = 2 cell2.Interior.ColorIndex = 3 cell2.Interior.Pattern = xlSolid End If Next cell2 Next cell1 Application.DisplayAlerts = True End Sub 

Любые предложения по более эффективному методу?

Спасибо за любую помощь.

С Уважением,

Объединив мои комментарии, вы можете изменить свой код, чтобы посмотреть что-то вроде этого (untested)

 Sub HighlightDuplicates() Application.DisplayAlerts = False application.calculation=xlcalculationmanual application.screenupdating=false lrU = Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row lrPT = Sheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row Dim rng1, rng2, cell1, cell2 As Range Set rng1 = Worksheets("Sheet1").Range("DL4:DL" & lrU) Set rng2 = Worksheets("Sheet2").Range("E3:M" & lrPT) For Each cell2 In rng2 Set cell1 = rng1.Find(cell2, lookin:=xlValues) if not cell1 is nothing then firstAddress = cell1.address Do cell1.Font.Bold = True cell1.Font.ColorIndex = 2 cell1.Interior.ColorIndex = 3 cell1.Interior.Pattern = xlSolid cell2.Font.Bold = True cell2.Font.ColorIndex = 2 cell2.Interior.ColorIndex = 3 cell2.Interior.Pattern = xlSolid Set cell1 = rng1.FindNext(cell2) Loop While Not cell1 Is Nothing And cell1.Address <> firstAddress end if next cell1 application.displayalerts=true application.calculation=xlcalculationmanual application.screenupdating=true end sub 
  • SUM of Specific Duplicates в длинном списке дубликатов
  • c # Excel Почему он удаляет дубликаты из ячеек, как это показано на целую строку?
  • Храните все строки, чья первая ячейка соответствует 1-й ячейке других строк
  • Идентифицировать имена с одинаковым идентификатором и одинаковым возрастом
  • Маркировка повторяющихся значений на основе дополнительной ячейки.
  • Удаление дубликатов из разных файлов excel за раз
  • Excel 2013: условное форматирование последовательного дублирования в 1 столбце
  • Python - удаление пробелов + удаление дубликатов. Заменить + drop_duplicate не работает?
  • Найти и выделить повторяющиеся десятичные значения в excel
  • Найти группу повторяющихся строк в excel
  • Найти дубликаты с суффиксом в Excel и сохранить результаты
  • Давайте будем гением компьютера.