在多个单元格中查找重复的数据,然后将所有数据复制到其他Excel工作表中

时间:2018-12-19 09:28:11

标签: excel excel-vba spreadsheet

我有一个具有约40k记录和5列的Excel工作表。我想在第3、4、5列中搜索重复项,并在新工作表中复制整行。

1 个答案:

答案 0 :(得分:1)

@Emm Jay,您能否更具体些?我不确定您要什么,但是下面的代码可以帮助您获得总体思路。

假设工作表1包含我们的数据,重复的行将复制到工作表2。

工作表1:

enter image description here

第2张-输出:

enter image description here

代码:

Option Explicit

Sub Duplicates()

    Dim LastrowS1 As Long, LastrowS2 As Long, i As Long, j As Long
    Dim CombineStrI As String, CombineStrJ As String

    LastrowS1 = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row

    For i = 2 To LastrowS1

        CombineStrI = Sheet1.Range("C" & i).Value & "_" & Sheet1.Range("D" & i).Value & "_" & Sheet1.Range("E" & i).Value

        For j = 2 To LastrowS1

            CombineStrJ = Sheet1.Range("C" & j).Value & "_" & Sheet1.Range("D" & j).Value & "_" & Sheet1.Range("E" & j).Value

            If j <> i Then

                If CombineStrI = CombineStrJ Then
                    Sheet1.Rows(i).Copy
                    LastrowS2 = Sheet2.Cells(Sheet2.Rows.Count, "A").End(xlUp).Row
                    Sheet2.Range("A" & LastrowS2 + 1).PasteSpecial
                End If

            End If

        Next j

    Next i

End Sub