无法获取工作表函数类

时间:2017-04-18 12:49:55

标签: vba excel-vba excel

enter image description here我正在将来自不同工作簿的数据整合到主工作簿中。但在巩固后我需要删除重复.. 工作表

工作表
:---------------
任务类别任务说明/详细信息分配给指定日期预计交货日期实际完成日期状态 :------------------------------------------------- ------------------------ 分析任务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

`

1 个答案:

答案 0 :(得分:0)

代码内部。你有这样的代码行,

Colm = WorksheetFunction.Match("ID", Sheets("Work Management").Rows(1), 0)

正在查找列标题 - 您在数据中没有的“ID”。如果您更改了自己需要的列标题。它会起作用