Mam arkusz kalkulacyjny programu Excel z dwiema kolumnami: kolumna A zawiera listę nazwisk, a kolumna B zawiera daty.

Chcę pozbyć się zduplikowanych wpisów na podstawie dat. To jest przykład

A     B

John  01/03/2020

John  01/03/2020 

Bob   01/03/2020

John  02/03/2020

Bob   02/03/2020

Bob   02/03/2020

Chcę usunąć duplikaty, które mają tę samą datę, więc ostateczny wynik powinien być:

A     B

John  01/03/2020

Bob   01/03/2020

John  02/03/2020

Bob   02/03/2020
0
acaselli 10 marzec 2020, 17:04

2 odpowiedzi

Najlepsza odpowiedź

Dlaczego nie korzystasz ze standardowej funkcji Remove duplicates?

enter image description here

2
basic 10 marzec 2020, 14:29

Jeśli zdecydujesz się użyć VBA, spróbuj:

Sub test()

    Dim i As Long, y As Long, Lastrow As Long
    Dim strName As String
    Dim dtDate As Date

    With ThisWorkbook.Worksheets("Sheet1")
        Lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row

        For i = Lastrow To 1 Step -1

            For y = i - 1 To 1 Step -1
                If (.Range("A" & i).Value = .Range("A" & y).Value) And (.Range("B" & i).Value = .Range("B" & y).Value) Then
                    .Rows(i).EntireRow.Delete
                End If

            Next y

        Next i

    End With

End Sub
0
Error 1004 10 marzec 2020, 14:20