Как удалить повторяющиеся строки в электронной таблице - PullRequest
0 голосов
/ 29 октября 2019

В столбце «M» у меня есть сотни строк с несколькими дубликатами. Я хочу, чтобы при запуске макроса отображалась только одна запись для каждого дубликата. Ниже приведен мой код, и он удаляет все записи, кроме одной.

Sub DeleteRows()

With ActiveSheet
    Set Rng = Range("M5:M").End(xlDown)
    Rng.RemoveDuplicates Columns:=1, Header:=xlYes
End With

End Sub

Он начинается с M5, так как именно здесь данные изначально. Почему он показывает только одну запись?

1 Ответ

1 голос
/ 29 октября 2019

Ваша первоначальная попытка, Range("M5").End(xlDown), это всего лишь одна ячейка.

Ваша новая попытка, Range("M5:M").End(xlDown), ближе, но недопустимая ссылка Range.

Попробуйте выполнить следующее:

Set Rng = Range("M5:M" & Cells(Rows.Count, "M").End(xlUp).Row)

РЕДАКТИРОВАТЬ:

Если вы работаете со всем диапазоном, вам нужно указать Столбцы аргумент Range.RemoveDuplicates, примерно так:

Sub RemoveDupes()
    Dim lastRow As Long
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row

    Range("A5:V" & lastRow).RemoveDuplicates Columns:=Array(13), Header:=xlYes ' column M = 13
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...