Найти повторяющиеся значения в Excel и экспортировать строки на другой лист с помощью VBA

Я новичок в сценариях VBA ... Я пытаюсь сделать следующее:

проверить столбец на наличие дублирующихся значений в файле MS ExcelЕсли дубликаты присутствуют, скопируйте строки, содержащие повторяющиеся значения, на другой лист ...

Например, у меня есть лист1 с содержанием:

Я хочу просмотреть содержимое столбца A и экспортировать строки, содержащие повторяющиеся значения в столбце A, на новый лист:

после поиска и редактирования некоторых сценариев VBA я придумал этот код:

Sub FilterAndCopy()

Dim wstSource As Worksheet, _
    wstOutput As Worksheet
Dim rngCell As Range, _
    rngMyData As Range
Dim lngMyRow As Long

Set wstSource = Worksheets("Sheet1")
Set wstOutput = Worksheets("Sheet2")
Set rngMyData = wstSource.Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)

Application.ScreenUpdating = False

For Each rngCell In rngMyData
    If Evaluate("COUNTIF(" & rngMyData.Address & "," & rngCell.Address & ")") > 1 Then
        lngMyRow = wstOutput.Cells(Rows.Count, "A").End(xlUp).Row + 1
        wstSource.Range("A" & rngCell.Row & ":D" & rngCell.Row).Copy _
            Destination:=wstOutput.Range("A" & lngMyRow & ":D" & lngMyRow)
    End If
Next rngCell

Application.ScreenUpdating = True
End Sub

Это правильный код? это может быть оптимизировано, чтобы быть быстрее?

У меня есть 80.000 записей, чтобы пройти через это ...

Ответы на вопрос(1)

Ваш ответ на вопрос