Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
292to296
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Doppelte Datensätze komplett löschen

Doppelte Datensätze komplett löschen
10.08.2003 09:29:03
Josef
Guten Morgen!
Ich habe in einer Tabelle ca. 5000 Datensätze, wobei sehr viele doppelt vorkommen. Wenn jetzt z.B. ein Datensatz zweimal vorkommt, das heißt, ident ist, so sollen auch diese zwei Datensätze ausgeblendet bzw. ausgeschnitten und in eine andere Tabelle transferiert werden.Übrigbleiben sollen nur die Datensätze bleiben, welche auch nur einmal vorkommen.
Gäbe es hier bitte eine VBA Lösung?
für eine Hilfe wäre ich dankbar
Josef

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelte Datensätze komplett löschen
10.08.2003 09:47:35
Hajo_Zi
Hallo Josef
Du möchtest eine VBA Lösung haben, dazu muß aber die Aufgabenstellung ganz klar sein.
Sollen be den Datensätzen 256 Spalten Verglichen werden??
Dürfen die Daten Sortiert werden??
Hat die Tabelle eine Überschrift???
Muß die alte Tabelle erhalten bleiben???
Das sind nun bloß paar Fragen die mir auf die schnelle eingefallen sind.
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen. Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.

Anzeige
AW: Doppelte Datensätze komplett löschen
10.08.2003 09:55:06
Josef
Hallo Hajo!
Schönen Guten Morgen!
Danke für Deine Antwort.
Zu
1.) die Datensätze sind in den Spalten A bis H enhalten.
2.) Die Daten sollen sortiert werden.
3.) Die Tabelle hat keine Überschrift
4.) Wenn möglich soll die alte Tabelle erhalten bleiben.
Danke
Josef

AW: Doppelte Datensätze komplett löschen
10.08.2003 09:57:33
Michael Schirow
Hi Josef,
ich will Hajo ja nicht zwischenfunken, aber Frage 0) heisst
heute schon gegoogelt? :-)
ich bekam 590 Treffer auf anhieb.
MfG, Michael

AW: Doppelte Datensätze komplett löschen
10.08.2003 10:01:23
Josef
Hallo Michael!
Habe heute schon gegoogelt.
Bei allen Lösungsvorschlägen wird der doppelte Datensatz gelöscht, jedoch einer davon bleibt immer bestehen.
Josef

Anzeige
AW: Doppelte Datensätze komplett löschen
10.08.2003 10:02:43
Hajo_Zi
Hallo Josef
zu 1 soll tatsächlich 8 Spalten verglichen werden??
zu 2 nach welchen Spalten?? Normal sind nur 3 möglich
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen. Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.

Anzeige
AW: Doppelte Datensätze komplett löschen
10.08.2003 10:05:58
Josef
Hallo Hajo !
Zu 1.) Ja (wenn notwendig ,wäre es ja sicher zum Erweitern)
zu 2.) Spalte A
Danke
josef

AW: Doppelte Datensätze komplett löschen
10.08.2003 10:20:09
Hajo_Zi
Hallo Josef
es ist mir jetzt zu aufwendig diese Tabelle anzulegen und das Ergebnis zu prüfen. Darum mal ohne Testung. Bitte Rückmeldung ob Fehlerfrei. Bei Problemen Musterdatei hochladen.
Option Explicit

Sub KeineDoppelten_Problem3()
'   erstellt von Hajo.Ziplies@web.deb 10.08.03
'   neue Tabelle anlegen, Sortieren und alle Doppelten löschen
'   Anzahl der doppelten eintragen
Dim LoAnzahl As Long    ' Anzahl der Doppelten
Dim LoI As Long         ' Schleifenvariablen außen
Dim LoJ As Long         ' Schleifenvariable innen
Dim ByAnzahl As Byte
Application.ScreenUpdating = False  ' Bildschirmanzeige aus
'   alte Tabelle Neu löschen und neue tabelle "Neu" mit Inhalt von Tabelle 1
On Error Resume Next
Application.DisplayAlerts = False
Worksheets("Neu").Delete
Application.DisplayAlerts = True
On Error GoTo 0
Worksheets("Tabelle1").Copy Before:=Worksheets(1)
ActiveSheet.Name = "Neu"
'   Sortieren der Daten nach Spalte A ohne Übeschrift
Range("A1").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
'   doppelte löschen
LoAnzahl = 1
For LoI = Cells(Rows.Count, 6).End(xlUp).Row - 1 To 1 Step -1
For LoJ = 1 To 8
ByAnzahl = 0
If Trim(Cells(LoI, LoJ)) = Trim(Cells(LoI + 1, LoJ)) Then
ByAnzahl = ByAnzahl + 1
End If
Next LoJ
If ByAnzahl = 8 Then
LoAnzahl = LoAnzahl + 1
Rows(LoI).Delete
Else
'            Cells(LoI + 1, 10) = LoAnzahl
If LoAnzahl > 1 Then Rows(LoI + 1).Delete
LoAnzahl = 1
End If
Next LoI
'    Cells(1, 10) = LoAnzahl
If LoAnzahl > 1 Then Rows(1).Delete
Application.ScreenUpdating = True  ' Bildschirmanzeige ein
Application.CutCopyMode = False    ' Zwischenspeicher löschen
End Sub

Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen. Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.

Anzeige
AW: Doppelte Datensätze komplett löschen
10.08.2003 10:31:20
Josef
Hallo Hajo!
1.) Fehlermeldung Variable nicht definiert und xlSortnormal wird markiert.
2.) Inaktiviere ich den Sortierbereich so werden alle vorhandenen Datensaätze in eine Tabelle mit dem Namen Neu kopiert.
Josef
Upload:
https://www.herber.de/bbs/user/509.xls

AW: Doppelte Datensätze komplett löschen
10.08.2003 10:36:52
Hajo_Zi
Hallo Josef
das ist ein Fehler auf meiner Seite, dies ist ein Befehl von XP. Entferne mal
, _
DataOption1:=xlSortNormal
Die Datei habe ich erstmal noch nicht runtergeladen.
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen. Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.

Anzeige
AW: Doppelte Datensätze komplett löschen
10.08.2003 10:44:34
Josef
Hallo Hajo!
Sortieren funktioniert jetzt einwandfrei, jedoch werden die Daten von Tabelle1 zur Tabelle Neu 1:1 kopiert.
Beide Tabellen haben 4166 Datensätze.
Josef

Nachtrag
10.08.2003 10:39:42
Josef
Hallo Hajo!
Übrig bleiben sollen in einer Tabelle nur die Datensätze, welche nicht doppelt vorkommen.
Josef

AW: Nachtrag
10.08.2003 10:41:02
Hajo_Zi
Hallo Josef
so ist auch das Konzept des Codes
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen. Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.

Anzeige
AW: Nachtrag
10.08.2003 10:47:05
Josef
Hallo Hajo!
Sortieren funktioniert jetzt einwandfrei, jedoch werden die Daten von Tabelle1 zur Tabelle Neu 1:1 kopiert.
Beide Tabellen haben 4166 Datensätze.
Josef

AW: Nachtrag
10.08.2003 11:02:21
Hajo_Zi
Hallo Josef
ich habe es jetzt mit Deinen Daten getestet.
Option Explicit

Sub KeineDoppelten_Problem3()
'   erstellt von Hajo.Ziplies@web.deb 10.08.03
'   neue Tabelle anlegen, Sortieren und alle Doppelten löschen
'   Anzahl der doppelten eintragen
Dim LoAnzahl As Long    ' Anzahl der Doppelten
Dim LoI As Long         ' Schleifenvariablen außen
Dim LoJ As Long         ' Schleifenvariable innen
Dim ByAnzahl As Byte
Application.ScreenUpdating = False  ' Bildschirmanzeige aus
'   alte Tabelle Neu löschen und neue tabelle "Neu" mit Inhalt von Tabelle 1
On Error Resume Next
Application.DisplayAlerts = False
Worksheets("Neu").Delete
Application.DisplayAlerts = True
On Error GoTo 0
Worksheets("Tabelle1").Copy Before:=Worksheets(1)
ActiveSheet.Name = "Neu"
'   Sortieren der Daten nach Spalte A ohne Übeschrift
Range("A1").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'   doppelte löschen
LoAnzahl = 1
For LoI = Cells(Rows.Count, 6).End(xlUp).Row - 1 To 1 Step -1
ByAnzahl = 0
For LoJ = 1 To 8
If Trim(Cells(LoI, LoJ)) = Trim(Cells(LoI + 1, LoJ)) Then
ByAnzahl = ByAnzahl + 1
End If
Next LoJ
If ByAnzahl = 8 Then
LoAnzahl = LoAnzahl + 1
Rows(LoI).Delete
Else
'            Cells(LoI + 1, 10) = LoAnzahl
If LoAnzahl > 1 Then Rows(LoI + 1).Delete
LoAnzahl = 1
End If
Next LoI
'    Cells(1, 10) = LoAnzahl
If LoAnzahl > 1 Then Rows(1).Delete
Application.ScreenUpdating = True  ' Bildschirmanzeige ein
Application.CutCopyMode = False    ' Zwischenspeicher löschen
End Sub

Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen. Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.

Anzeige
AW: Nachtrag
10.08.2003 11:37:28
Josef
Hallo Hajo!
Jetzt dürfte es klappen.
Nur bei den Namen Laska Anneliese sind z.b. die doppelten Datensätze geblieben. Bei den meisten Datensätzen ist aber anscheinend alles klar gegangen. Beim Vergleich der beiden Datensätze von Laska konnte ich jedoch keine Unterschiede feststellen.
Josef

AW: Nachtrag
10.08.2003 11:41:53
Hajo_Zi
Hallo Josef
den Datensatz konnte ich nicht finden. ich habe gesucht nach
Laska Anneliese
Laska
Anneliese
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen. Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.

Anzeige
AW: Nachtrag
10.08.2003 11:49:02
Hajo_Zi
Hallo Josef
ich habe Sie doch noch gefunden.
Das Sie nicht gelöscht werden liegt daran dass nur nach Spalte A sortiert wird und damit sind die gleichen nicht direkt hintereinander. Das Problem würde es wahrscheinlich nicht geben, wenn auch noch nach Spalte B und vielleicht noch eine weitere sortiert würde.
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen. Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.

Anzeige
AW: Nachtrag
10.08.2003 11:54:35
Josef
Hallo Hajo!
Meinst du nach der Spalte B mit den Nummern oder sollten in Spalte B die Werte von spalte G stehen?
Josef

AW: Nachtrag
10.08.2003 12:00:05
Hajo_Zi
Hallo Josef
nach Spalte B noch sortieren
Option Explicit

Sub KeineDoppelten_Problem3()
'   erstellt von Hajo.Ziplies@web.deb 10.08.03
'   neue Tabelle anlegen, Sortieren und alle Doppelten löschen
'   Anzahl der doppelten eintragen
Dim LoAnzahl As Long    ' Anzahl der Doppelten
Dim LoI As Long         ' Schleifenvariablen außen
Dim LoJ As Long         ' Schleifenvariable innen
Dim ByAnzahl As Byte
Application.ScreenUpdating = False  ' Bildschirmanzeige aus
'   alte Tabelle Neu löschen und neue tabelle "Neu" mit Inhalt von Tabelle 1
On Error Resume Next
Application.DisplayAlerts = False
Worksheets("Neu").Delete
Application.DisplayAlerts = True
On Error GoTo 0
Worksheets("Tabelle1").Copy Before:=Worksheets(1)
ActiveSheet.Name = "Neu"
'   Sortieren der Daten nach Spalte A ohne Übeschrift
Range("A1").Sort Key1:=Range("A1"), Order1:=xlAscending, Key2:=Range("B1"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'   doppelte löschen
LoAnzahl = 1
For LoI = Cells(Rows.Count, 6).End(xlUp).Row - 1 To 1 Step -1
ByAnzahl = 0
For LoJ = 1 To 8
If Trim(Cells(LoI, LoJ)) = Trim(Cells(LoI + 1, LoJ)) Then
ByAnzahl = ByAnzahl + 1
End If
Next LoJ
If ByAnzahl = 8 Then
LoAnzahl = LoAnzahl + 1
Rows(LoI).Delete
Else
'            Cells(LoI + 1, 10) = LoAnzahl
If LoAnzahl > 1 Then Rows(LoI + 1).Delete
LoAnzahl = 1
End If
Next LoI
'    Cells(1, 10) = LoAnzahl
If LoAnzahl > 1 Then Rows(1).Delete
Application.ScreenUpdating = True  ' Bildschirmanzeige ein
Application.CutCopyMode = False    ' Zwischenspeicher löschen
End Sub

Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen. Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.

DANKE!
10.08.2003 12:02:55
Josef
Hallo Hajo!
Jetzt bist Du mir zuvor gekommen.
Mit folgender Aufzeichnung und Anpassung des Codes funktioniert jetzt alles bestens.
Ich möchte mich bei dir recht herzlich für Deine Mühe bedanken und wünsche dir noch einen schönen Sonntag.
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Key2:=Range("B1") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
liebe Grüße aus Wien
Josef

Danke für die Rückmeldung
10.08.2003 12:06:31
Hajo_Zi
Hallo Josef
auf Select kann zu 99% in VBA verzichtet werden.
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.

AW: Doppelte Datensätze komplett löschen
10.08.2003 12:23:19
Tom
Dafür gibt es auch ein geniales Excel-Add-In, mit welchem du das lösen kannst:
http://www.synkronizer.com
Gruss Tom

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige