verwijderen van duplicaten maar de onderste bewaren.

Status
Niet open voor verdere reacties.

gaggie

Gebruiker
Lid geworden
13 apr 2012
Berichten
101
Ik wil graag dat op een tabblad de duplicaten worden verwijderd.
De VBA code die ik nu heb die werkt, maar ik wil dat wanneer er een duplicaat gevonden is hij de laatste laat staan en niet de eerste.
Weet iemand misschien wat ik dan aan de code moet aanpassen.
Deze code heb ik ergens van dit of een ander forum gehaald.

Code:
Sub verwijder_duplicaten_database()

    Dim lastrow As Long

    With ThisWorkbook.Worksheets("Database")
        If Application.WorksheetFunction.CountA(.Cells) <> 0 Then
            lastrow = .Cells.Find(What:="*", _
                          After:=.Range("A1"), _
                          Lookat:=xlPart, _
                          LookIn:=xlFormulas, _
                          SearchOrder:=xlByRows, _
                          SearchDirection:=xlPrevious, _
                          MatchCase:=False).Row
        Else
            lastrow = 1
        End If

        'Array(1, 2, 16) means 1 - for A, 2 for B and 16 for P columns
        .Range("A1:M" & lastrow).RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
        End With
End Sub

Mvg.

Gaggie
 
Laatst bewerkt:
Gaggie,

Ik begrijp je vraag niet, als de records duplicaten van elkaar zijn, wat maakt het dan uit welke bewaard wordt en welke
wordt verwijderd? Ze zijn het zelfde!!

Elsendoorn2134
 
Het is een verzameling van toetsen per leerling, wanneer alle naar een verzamelblad is gekopieerd, en een leerkracht denkt opeens iets te moeten veranderen bij een leerling en kopieerd weer, dan worden er duplicaten verwijderd maar dat wordt vanaf onderaan naar boven gedaan, dus de eerste die daar al stond blijft altijd bestaan.
 
Gaggie,

Het antwoord is dan simpel, sorteer de lijst aflopend en start de macro, dan wordt altijd de laatste bewaard.

Veel Succes.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan