2017-04-18 53 views
-1

enter image description here我正在將來自不同工作簿的數據整合到主工作簿中。但整合後,我需要在刪除重複.. 工作表無法獲得工作表功能類的匹配屬性

工作表
:---------------
任務類別的任務說明/詳細分配分配日期預計交付日期實際完成日期狀態 :---------------------------------------- --------------------------------- 分析任務1瑪雅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真綾2017年1月3日2017年10月3日2017年10月3日完成 編碼&測試任務5真綾2017年1月3日2017年10月3日持續

下面我的代碼能夠刪除重複...但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

裏面的代碼。你有這樣的代碼行,

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

它正在尋找您的數據中沒有的列標題 - 「ID」。如果你改變你自己的列標題,你需要。它會工作

+0

好的我已經改變爲任務desc ...但仍然在Value2 =範圍(「N」和i + 1).Value錯位錯誤13 – Maaya

+0

@Maaya這是一個不同的錯誤。請在發佈代碼時發佈一個新問題以及您的數據,而不是圖片。請接受這個答案,因爲它回答了你的問題:) – Sid29

+0

@Maaya你的問題已被回答。接受答案並開始一個新問題! – 2017-04-18 17:45:31