Jeg har et excel dokument som indeholder en adresse liste. Hver række er opbygget sådan: Celle D: navn & efternavn Celle E: Adresse
Adresse listen er en sammen fatning af 3 lister. Samme navn mv. kan der for optræde flere gange på den endelige liste. Når listen er sammenfattet indeholder den mellem 1000 og 12000 rækker adresse med oplysninger.
Ønske: Hvis der er genganger skal disse reduceres således at den endelige liste ikke indeholder flere rækker med sammen oplysninger.
VBA-kode indsættes under relevante ark / Overskrifter forventes i række 1 *) Sorter iflg. kolonne D / E forinden
Public Sub sletDobbeltgængere() Dim sidsterække As Long, ræk As Long Dim navn As String, adresse As String Dim Xnavn As String, Xadresse As String sidsterække = ActiveCell.SpecialCells(xlLastCell).Row
Application.ScreenUpdating = False
Rem traverser rækker For ræk = 2 To sidsterække 'evt. ret til 1 * If ræk = 2 Then Xnavn = Range("D2") Xadresse = Range("E2") Else navn = Range("D" & ræk) adresse = Range("E" & ræk) Rem hvis blanke - så stop If navn = "" And adresse = "" Then Exit For Else Rem sammenlign - slet række hvis navn & adresse er ens If navn = Xnavn And adresse = Xadresse Then Rows(ræk).Delete ræk = ræk - 1 Else Xnavn = Range("D" & ræk) Xadresse = Range("E" & ræk) End If End If End If Next ræk End Sub
Indsæt nedenstående under dit ark. Du kalder så denne procedurer når du vil bruge den. Du kan også flytte den til et modul og skippe Private foran procedurenavnet.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.