我曾经使用一块宏,这里有人为我提供了一种宏,当在另一列中找到重复项时,可以从其中删除重复项。出于某种原因,删除重复项功能对我而言从来没有用过,继续阅读该功能可能会出错。这是解决该问题的一种方法,并且在另一张纸上效果很好。我重新使用代码,但是现在使用它时,使用一个很小的数据集进行排序(仅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