Supportnet / Forum / Tabellenkalkulation
excel doppelte adressen löschen
Frage
Hallo, ich habe folgendes Problem. Ich habe 8000 Adressen die sich über lange Jahre angesammelt haben. Nun möchte ich einen Serienbrief erstellen. Das Problem ist, dass in dieser excel tabelle viele doppelte adressen vorhanden sind. nun möchte ich die doppelten löschen lassen. Habe es mit der Wahr / Falsch funktion probiert. es wurden auch einige gelöscht. nun möchte ich aber folgendes noch machen. ein kleines beispiel
mustermann, karl musterstr. 23
mustermann, heidi musterstr. 23
mustermann, wolgang musterstr. 99
Bei diesem beispiel soll nur in spalte1 die ersten 3 buchstaben kontrolliert werden. wenn die ersten drei buchstaben des nachnamens übereinstimmen und die straße identisch ist, soll eine zeile gelöscht werden, weil man davon ausgeht das es ein ehepaar ist.
Kann mir jemand helfen??
Danke
Antwort 1 von Saarbauer
Hallo,
sind Name, Vorname, und anschrift in einem oder mehreren Datenfeldern? Normal wäre getrennte Felder
Gruß
Helmut
sind Name, Vorname, und anschrift in einem oder mehreren Datenfeldern? Normal wäre getrennte Felder
Gruß
Helmut
Antwort 2 von mixmastertobsi
hallo, name und vorname sind in einer spalte. die adresse ist in einer anderen. habe auch ein makro, dies aber leider nur in spalte a nur die namen rauslöscht die 100% identisch sind. ich will aber ja das er in spalte a immer nur die ersten 3 buchstaben kontrolliert
Sub Makro1()
Dim LastC As Long, x As Long
Set LastCell = ActiveSheet.Cells.SpecialCells(xlLastCell)
alta = LastCell.Row
A = LastCell.Row
Do While Application.CountA(Rows(A)) = 0 And A <> 1
A = A - 1
Loop
alta = A
altb = LastCell.Column
b = LastCell.Column
Do While Application.CountA(Columns(b)) = 0 And b <> 1
b = b - 1
Loop
altb = b
lzeile = alta
lspalte = altb
For x = 1 To lzeile + 1
If WorksheetFunction.CountIf(Range("a1:a" & x), Cells(x, 1)) > 1 Then
Cells(x, 1).EntireRow.Delete
End If
Next x
End Sub
Sub Makro1()
Dim LastC As Long, x As Long
Set LastCell = ActiveSheet.Cells.SpecialCells(xlLastCell)
alta = LastCell.Row
A = LastCell.Row
Do While Application.CountA(Rows(A)) = 0 And A <> 1
A = A - 1
Loop
alta = A
altb = LastCell.Column
b = LastCell.Column
Do While Application.CountA(Columns(b)) = 0 And b <> 1
b = b - 1
Loop
altb = b
lzeile = alta
lspalte = altb
For x = 1 To lzeile + 1
If WorksheetFunction.CountIf(Range("a1:a" & x), Cells(x, 1)) > 1 Then
Cells(x, 1).EntireRow.Delete
End If
Next x
End Sub
Antwort 3 von ErikMangelson
Hallo,
Ja, wie Du bereits festgestellt hast werden mit diesem Makro doppelte Adressen nur dann gefunden wenn sie zu 100% übereinstimmen. Bei Adressen ist das aber leider nicht immer der Fall. Man denke nur an die 1000 Varianten die es von dem Namen Maier gibt: Maier, Meier, Meyer, Mayer, Mayr, Meyr ...
Das Problem mit den doppelten Adressen ist in dem folgenden Artikel schön beschrieben:
http://www.direktmarketing-essentials.de/marketing/29-adressen-und-...
Welche Möglichkeiten es gibt mit dieses Problem in Excel zu lösen ist in diesem Artikel beschrieben:
http://www.direktmarketing-essentials.de/marketing/34-excel-doppelt...
Gruß
Erik
Ja, wie Du bereits festgestellt hast werden mit diesem Makro doppelte Adressen nur dann gefunden wenn sie zu 100% übereinstimmen. Bei Adressen ist das aber leider nicht immer der Fall. Man denke nur an die 1000 Varianten die es von dem Namen Maier gibt: Maier, Meier, Meyer, Mayer, Mayr, Meyr ...
Das Problem mit den doppelten Adressen ist in dem folgenden Artikel schön beschrieben:
http://www.direktmarketing-essentials.de/marketing/29-adressen-und-...
Welche Möglichkeiten es gibt mit dieses Problem in Excel zu lösen ist in diesem Artikel beschrieben:
http://www.direktmarketing-essentials.de/marketing/34-excel-doppelt...
Gruß
Erik
Antwort 4 von coros
Hallo,
ich glaube kaum, dass für die Person, die den Beitrag eröffnet hat, Deine Antwort noch zu gebrauchen ist. Schau mal auf das Datum. Der Beitrag ist fast 3 Jahre alt. Somit sollte davon auszugehen sein, dass ihn das nicht mehr interessiert.
Aufgrund Deiner letzten 4 Antworten zu dem selben Thema, die eigentlich immer gleich sind, und Deinem Verweis auf diese Internetseite könnte man fast davon ausgehene, dass Du Werbung für diese Seite machen möchtest. Sorry, wenn ich da faslch liege.
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
ich glaube kaum, dass für die Person, die den Beitrag eröffnet hat, Deine Antwort noch zu gebrauchen ist. Schau mal auf das Datum. Der Beitrag ist fast 3 Jahre alt. Somit sollte davon auszugehen sein, dass ihn das nicht mehr interessiert.
Aufgrund Deiner letzten 4 Antworten zu dem selben Thema, die eigentlich immer gleich sind, und Deinem Verweis auf diese Internetseite könnte man fast davon ausgehene, dass Du Werbung für diese Seite machen möchtest. Sorry, wenn ich da faslch liege.
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Antwort 5 von ErikMangelson
Hallo,
Nun, dass diese Frage schon enige Jahre auf dem Buckel hat stimmt zwar. Allerdings taucht diese im Suchergebnis, für jemanden wie mich der nach einer Lösung für ein ähnliches Problem gesucht hat, nach wie vor auf. Wäre diese Frage schon zufriedenstellend beantwortet gewesen als ich das erste mal darüber gestolpert bin, dann hätte mir das einiges an Zeit gespart.
Gruß
Erik
Nun, dass diese Frage schon enige Jahre auf dem Buckel hat stimmt zwar. Allerdings taucht diese im Suchergebnis, für jemanden wie mich der nach einer Lösung für ein ähnliches Problem gesucht hat, nach wie vor auf. Wäre diese Frage schon zufriedenstellend beantwortet gewesen als ich das erste mal darüber gestolpert bin, dann hätte mir das einiges an Zeit gespart.
Gruß
Erik

