VBA Удалить дублирующее значение и сохранить последнее - PullRequest
0 голосов
/ 15 января 2020

Я хочу удалить все дубликаты, кроме одного с наибольшим порядком. Когда я запускаю коды в первый раз, он удаляет 1,3,5,7,9, ..., нечетный Когда я запускаю второй раз, он удаляет 2,4,6 ... Я просто хочу запустить 01 раз и удалить все и сохранить последний. Пожалуйста, помогите мне исправить мои коды.

Sub Delete()
    Dim lRow As Long
    Dim lCol As Long
    Dim i As Long

    'Find the last non-blank cell in column A(1)
    lRow = Cells(Rows.Count, 1).End(xlUp).Row

    'Find the last non-blank cell in row 1
    lCol = Cells(1, Columns.Count).End(xlToLeft).Column
    Range(Cells(1, 1), Cells(lRow, lCol)).Select
    For i = 1 To lRow
        If Cells(i, 1).Value = Cells(i + 1, 1).Value And Cells(i + 1, 2).Value <> 0 Then
            Rows(i).EntireRow.Delete
        End If
    Next i

End Sub

IMG1

1 Ответ

1 голос
/ 15 января 2020

Изменить

For i = 1 To lRow

на

For i = lRow To 1 Step -1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...