Раньше я использовал кусок макроса, который кто-то здесь предоставил мне в качестве средства для удаления дубликатов из одного столбца, когда они найдены в другом столбце. По какой-то причине функция удаления дубликатов никогда не работала для меня, и, читая об этом, сказал, что она может содержать ошибки. Это было средством для этого, и оно прекрасно работало на другом листе. Я повторно использую код, но при его использовании он очень медленный с небольшим набором данных для сортировки (всего 350 строк). У него нет проблем с поиском дубликата, но проблема возникает, когда он использует .delete shift: = up. Я делаю это так, чтобы по всему столбцу не было пустых ячеек, но теперь говорится о 3 секундах для завершения каждого удаления и сдвига. Если я просто использую .clear, реакция мгновенная, но в колонке остаются пустые клетки. Кто-нибудь видит причину, по которой этот код может занять так много времени?
Столбец V - это столбец сравнения, а столбец M - это столбец, из которого я удаляю дубликаты.
Sub Remove_Duplicates()
Dim M As Range, V As Range
Dim rc As Long
rc = Rows.Count
Set M = Range("M6:M" & Cells(rc, "M").End(xlUp).Row)
Set V = Range("V6:V" & Cells(rc, "V").End(xlUp).Row)
Mcnt = M.Count + 5
'Copies SAP Batch summary data into New Batch Summary
If Range("J6") = "" Then
Exit Sub
Else
Range("I6:J6", Range("I6:J6").End(xlDown)).Copy Range("L6:M6")
End If
'Moves From bottom of column M and goes up
For i = Mcnt To 5 Step -1
If V.Find(what:=Cells(i, "M"), after:=V(1)) Is Nothing Then
Else
'Cells(i, "M").Clear
Cells(i, "M").Delete shift:=xlUp
End If
Next i
'Positions data in the New Batch column
'Call Reposition_Data
End Sub