Как удалить дублирующиеся строки в VBA? - PullRequest
0 голосов
/ 13 апреля 2020

Существует этот старый поток, который предоставляет решение для удаления дублированных строк, Удалить все дублирующиеся строки Excel vba . Но если я использую его для данных, как показано ниже, это решение не будет работать как задумано , Хотя я могу добавить .End (xlDown) так, чтобы Set rng = Range ("A1", Range ("E1"). End (xlDown) .End (xlDown.End (xlDown), чтобы удалить дублирующиеся строки (устройство A), которые разделены на скриншоте, есть ли лучший способ сделать это?

Другой вопрос, который я хочу уточнить, в чем смысл столбца rng.RemoveDuplicates: = Array (1, 2)? Потому что даже если я поставил его как = Array (1) или даже Array (1,2,3,4,5), я понял, что он все равно удалит дублирующиеся строки.

Sub test()


   With Worksheets("Output")
        Set rng = Range("A1", Range("E1").End(xlDown))
        rng.RemoveDuplicates Columns:=Array(1, 2), Header:=xlNo
    End With


End Sub

enter image description here

1 Ответ

0 голосов
/ 13 апреля 2020

Предполагая, что каждая строка с данными имеет непустую ячейку в столбце E, вы можете установить rng следующим образом:

Set Rng = Range(Cells(1, 1), Cells(Range("A:A").Rows.Count, 5).End(xlUp))

Вы также можете обработать все столбцы следующим образом:

Range("A:E").RemoveDuplicates Columns:=Array(1, 2), Header:=xlNo
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...