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

Я хочу удалить все строки, кроме последней, для соответствующего идентификатора пользователя "james.oconnor", у меня огромный файл Excel, и есть несколько строк с одним и тем же именем пользователя с другим именем учетной записи. я хочу, чтобы только в последней строке было указано имя «учетной записи» для данного идентификатора пользователя - как я могу это сделать?

Как я могу превратить мой файл Excel из в

Большое спасибо, Дипак

Ответы [ 2 ]

0 голосов
/ 06 ноября 2019

Вы можете попробовать:

Option Explicit

Sub test()

    Dim Counter  As Long, i As Long, LastRow As Long
    Dim LookUpValue As String

    LookUpValue = "james.oconnor"

    With ThisWorkbook.Worksheets("Sheet1")

        LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
        Counter = 0

        For i = LastRow To 2 Step -1

            If .Range("A" & i).Value = LookUpValue Then

                Counter = Counter + 1

                If Counter > 1 Then
                    .Rows(i).EntireRow.Delete
                End If

            End If

        Next i

    End With

End Sub
0 голосов
/ 06 ноября 2019

Я бы добавил вспомогательный столбец, который подсчитывает количество учетных записей, которые у вас есть в этой строке, например, =COUNTA(F2:AA:2) в ячейке E2, а затем отсортировал лист по этому новому столбцу в порядке убывания (наибольшее число вверху).

После этого вы можете либо через Remove Duplicates (только фильтрация по столбцу userId), либо через VLOOKUP, чтобы сохранить только верхние.

Это работает для вас?

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