我正在将来自不同工作簿的数据整合到主工作簿中。但在巩固后我需要删除重复.. 工作表
工作表
:---------------
任务类别任务说明/详细信息分配给指定日期预计交货日期实际完成日期状态
:------------------------------------------------- ------------------------
分析任务1 Maaya 02-01-2017 19-01-2017 19-01-2017已完成
分析任务2 Maaya 02-01-2017 19-01-2017 19-01-2017已完成
分析任务3 Maaya 20-01-2017 10-03-2017 10-03-2017已完成
分析任务4 Maaya 20-01-2017 10-03-2017 10-03-2017已完成
编码&测试任务5 Maaya 01-03-2017 10-03-2017 10-03-2017已完成
编码&测试任务5 Maaya 01-03-2017 10-03-2017正在进行中
使用下面的代码,我可以删除重复的...但是TASK5有2个状态,如已完成和正在进行。我需要最新的更新数据。
代码在这里:
Public Sub duplicate_removal()
Dim Colm, lastrow As String
Dim i, Value1, Value2 As Integer
ActiveWorkbook.Worksheets("Work Management").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Work Management").Sort.SortFields.Add
Key:=Range("F3:F104857"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Work Management").Sort
.SetRange Range("A3:X104857")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Colm = WorksheetFunction.Match("ID", Sheets("Work Management").Rows(1), 0)
lastrow = ActiveSheet.Cells(Rows.Count, Colm).End(xlUp).Row
For i = 2 To lastrow
Value1 = Range("C" & i).Value
Value2 = Range("C" & i + 1).Value
If Value1 = Value2 Then
Rows(i).Delete
End If
MsgBox ("Duplicates removed ")
Next
Application.ScreenUpdating = True
End Sub
`
答案 0 :(得分:0)
代码内部。你有这样的代码行,
Colm = WorksheetFunction.Match("ID", Sheets("Work Management").Rows(1), 0)
正在查找列标题 - 您在数据中没有的“ID”。如果您更改了自己需要的列标题。它会起作用