У меня есть таблица с столбцами данных от A до H. Мне нужно удалить дубликаты на основе данных в столбце C. Простой.Макрос для удаления дубликатов на основе одного столбца, затем переместите «старый» дубликат на другой лист
Сложная часть заключается в том, что у меня есть дата в столбце E. Мне нужен «старый» дубликат, который нужно перенести на другой лист, а не удалить. У меня есть макрос для перемещения дубликатов на другой лист, но это выбор того, что остается/идет случайным образом.
Если мне нужно уточнить, дайте мне знать!
просил править: Это не то, что этот макрос не так, то, что я не знаю, как сделать это переместить старую копию, основанную на дату в столбце Е.
Sub DupMove()
Dim t As Single
Dim d As Object, x&, xcol As String
Dim lc&, lr&, k(), e As Range
xcol = "C"
lc = Cells.Find("*", after:=[a1], searchdirection:=xlPrevious).Column
lr = Cells.Find("*", after:=[a1], searchdirection:=xlPrevious).Row
ReDim k(1 To lr, 1 To 1)
Set d = CreateObject("scripting.dictionary")
For Each e In Cells(1, xcol).Resize(lr)
If Not d.exists(e.Value) Then
d(e.Value) = 1
k(e.Row, 1) = 1
End If
Next e
Cells(1, lc + 1).Resize(lr) = k
Range("A1", Cells(lr, lc + 1)).Sort Cells(1, lc + 1), 1
x = Cells(1, lc + 1).End(4).Row
Cells(x + 1, 1).Resize(lr - x, lc).Copy Sheets("Duplicates").Range("A1")
Cells(x + 1, 1).Resize(lr - x, lc).Clear
Cells(1, lc + 1).Resize(x).Clear
End Sub
Работает как очарование. Спасибо вам огромное. –
Рад, что это сработало! – CMArg