problem mit excel

Seth.Gecko

Angesehenes Mitglied
Hallo Zusammen,

Hab ein kleines Problem mit Excel, bin da leider nicht so der Profi, aber vielleicht findet sich hier ja wer:)

Und zwar folgendes:

Wie ihr im Attachment sehen könnt, habe ich folgende Felder: Vorname Name Adresse

Da diese Liste in echt etwa 20'000 Einträge hat, und viele davon doppelt sind, muss ich nun irgendwie diese doppelten löschen können. Hat da wer eine Formel oder so?

Danke für eure Hilfe.

Grüsse

liste.xls

 
welche der Felder dürfen doppelt vorkommen? Kann das XLS leider nicht ansehen....warum auch immer...
wenns die originaldatei ist, sei vorsichtig mit echten Adressen...
wink.gif
Ansonsten hier der Schnipsel, der helfen sollte:

CODE
Sub doppelte()

Dim x As Integer
Dim y As Integer
Dim count As Integer

count = 0
y = 1
x = 2

Worksheets("DEIN-TABELLENBLATT-NAME").Activate

With Worksheets("DEIN-TABELLENBLATT-NAME")
While .Cells(x, 1) <> ""
If .Cells(x, 1) = .Cells(y, 1) And (.Cells(x, 2) = .Cells(y, 2)) Then
' Hier wird nur nach dem Wert der 1. & 2. Spalte geschaut. Wenn du weitere Spalten auch noch vergleichen
' möchtest, dann musst du dementsprechend eine Bedingung noch dranhängen (z.B: And (.Cells(x, 3) = .Cells(y, 3))
.Rows(x).Select
Selection.Delete shift:=xlUp
count = count + 1
Else
x = x + 1
y = y + 1
End If
Wend
End With
MsgBox ("Es wurden " & count & " doppelte Einträge gelöscht!")
End Sub



ungetestet und auf eigene Gefahr. Mach dir vorher in jedemfall nen Backup
 
Danke! Neinein, das ist natürlich nicht die Originaldatei:) Kann diese aber so aus dem Forum auch nicht öffnen.

Danke für den Code - ich versuchs ob ich das so hinkriege:)
 
QUOTE (Seth.Gecko @ Fr 16.05.2008, 15:47)Da diese Liste in echt etwa 20'000 Einträge hat, und viele davon doppelt sind, muss ich nun irgendwie diese doppelten löschen können. Hat da wer eine Formel oder so?

Pumpe die Daten in eine Sql-Datenbank, lies den bald schon klassischen Text von mir

Mehrfache Datensätze anzeigen und mit Ausnahme einer Zeile löschen

durch und wende ihn an.

Bitte da nicht zeilenweise vorgehen, sondern alles in einem Rutsch erledigen.
 
SQWL alles schön und gut - aber wenns nur Excel gibt, dann ist lässt sich das leider nicht so ohne weiteres machen, oder etwa doch? Wenn ich nicht auf SQL zurückgreifen konnte, hat sich das o.g. immer ganz gut bewährt. Dauert zwar nen bisschen, aber es klappt... kann man zwischendruch kurz Kaffee holen gehn...
 
QUOTE (chrizz @ Fr 16.05.2008, 16:55)aber wenns nur Excel gibt, dann ist lässt sich das leider nicht so ohne weiteres machen, oder etwa doch?

Mit Excel hat man auch komplett Sql. Zwar nicht ganz so elegant, aber es geht.

Daten - Externe Daten importieren - Neue Abfrage erstellen

dann ein bißchen mit dem MS-Query herumspielen.

Da kann man zwar in Excel nicht löschen, aber man kann die Idee aus dem oben erwähnten Artikel nutzen, um per Group By die minimalen IDs und die dazugehörigen Datensätze ermitteln - und die kopiert man sich in eine neue Exceltabelle.

Man kann auch über ein VBScript, Standard-Windowstechniken und eine leere Access-Datenbank (die man im Web findet) eine Excel-Tabelle per Sql ansprechen - aber ich wills ja nicht übertreiben
rolleyes.gif


PS: Das MS-Query gibt es, wenn ich es richtig in Erinnerung habe, seit Office 97. Ich hatte 2000/2001 einige Firmenschulungen gemacht, wo solche Techniken heiß begehrt waren. Denn die Firmenmitarbeiter hatten meistens Lesezugriff auf die dortigen großen Datenbank-Systeme - und mit solchen teils sehr simplen Techniken konnten die Daten ausgelesen und ausgewertet werden. Oder dynamisches Zusammenführen verschiedener Quellen, die sich immer wieder ändern ...
 
Danke für die ausführlichen Informationen. Ich schaue mir das an, hab zuerst noch das erstgennante Tool installiert und das läuft soweit auch ganz gut.

Grüsse
 
Geht auch mit Excel, die Daten einfach in ein PivotTable und die Spalten Gruppieren.

In Excel 2007 geht es über einen Spezialfilter (keine Duplikate), da ich das alte Excel seit mehr als 1 Jahr nicht mehr habe, kann ich nicht mehr genau sagen ob es das auch schon in der 2003 Version gab.

Oder einfach die Daten kopieren in TextPad ( ist frei) und da Sortieren und Duplikate rausschmeißen danach wieder in Excel einfügen.

Gruß
Frank
 
ich würds einfach lösen. sortier die tabelle alphbetisch. mach in einer weitere kollonne eine formel (wenn name = name eine zeile höher dann 1 sonst null)

alle zeilen mit wert 1 löschen fertig
 
QUOTE (Urs @ Di 20.05.2008, 14:14) ich würds einfach lösen. sortier die tabelle alphbetisch. mach in einer weitere kollonne eine formel (wenn name = name eine zeile höher dann 1 sonst null)

alle zeilen mit wert 1 löschen fertig

Ja - das ist definitiv einfach, warum bin ich da nicht selber draufgekommen - danke!
 
Zurück
Oben