Найти дублированные данные в нескольких ячейках и скопировать все в другой лист Excel - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть лист Excel с 40k записей и 5 столбцами.Я хочу найти дубликаты в столбцах 3, 4, 5 и скопировать всю строку на новом листе.

1 Ответ

0 голосов
/ 19 декабря 2018

@ Эмм, Джей, не могли бы вы быть более конкретным?Я не уверен, о чем вы просите, но приведенный ниже код может помочь вам составить общее представление.

Допустим, лист 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
...