删除VBA中的详细信息

时间:2016-04-06 10:38:22

标签: excel vba excel-vba

vba中的RemoveDuplicates函数删除第二次出现,我需要保留第二次出现并删除第一次出现。

我正在搜索的列未排序,我需要在特定列中搜索重复项,如果找到重复项,则第一次出现需要删除整行,保留第二行

这是我到目前为止的代码。

Dim overLayWB As Workbook       'Overlay workbook
Dim formattedWB As Workbook     'Formatted workbook
Dim formattedWS As Worksheet    'Current active worksheet (Formatted)
Dim overLayWS As Worksheet      'Worksheet in OverLay
Dim lastRowFormatted As Long
Dim lastRowOverLay As Long

'open Overlay workbook
Set overLayWB = Workbooks.Open("C:\Documents\Overlay.xls") 'Path for workbook Overlay to copy from
Set formattedWS = Workbooks("Formatted").Sheets("Formatted")
Set overLayWS = Workbooks("Overlay").Sheets("Overlay")
Set formattedWB = ThisWorkbook

'Find last row in worksheet Formatted
With formattedWS
    lastRow = .Range("G" & .Rows.Count).End(xlUp).Row
End With

'Find last row in worksheet OverLay
With overLayWS
    lastRowOverLay = .Range("G" & .Rows.Count).End(xlUp).Row
End With

'Copy contents of Overlay over to Formatted
Range("E22:BP" & lastRowOverLay).Select
    Selection.Copy
    ThisWorkbook.Sheets("Formatted").Range("E" & lastRow).PasteSpecial

'Close OverLay Workbook
Application.DisplayAlerts = False
overLayWB.Close

'Find last row after inserting overlay rows
    With formattedWS
        lastRow = .Range("G" & .Rows.Count).End(xlUp).Row
    End With

'Remove duplicates
    formattedWS.Range("G22:G" & lastRow).RemoveDuplicates Columns:=5, Header:=xlYes

0 个答案:

没有答案