Supportnet / Forum / Tabellenkalkulation
Doppeleinträge suchen und löschenegebenenfals löschen
Frage
Hallo Zusammen,
Ich habe eine Excel Arbeitsmappe mit mehreren Tabellenblättern. In dieser Mappe ist das Ergebnis einer Recherche. Hierbei hat jedes Stichwort nach dem gesucht wird seine eigenen Tabelle. Jedoch gibt es natürlich bei den Ergebnissen immer wieder Überschneidungen. Wie kann ich herausfinden welche Einträge doppelt sind und sie gegebenenfalls löschen.
Vielen dank für eine Lösung
Cio
Trudi
Antwort 1 von coros
Hi Trudi,
ich hätte da eine Makrolösung anzubieten. Nachfolgendes Makro muss in ein Standard Modul in Deiner Datei kopiert werden.
Das Makro macht folgendes: Es durchsucht die Spalte A nach Duplicate. Wird eine Übereinstimmung gefunden, erscheint ein Fenster mit der Angabe der Zeile, in der sich der doppelte Eintrag befindet und man kann dann auswählen, ob die Zeile, in der der doppelte Eintrag steht gelöscht werden soll.
Soll eine andere Splate al A durchsucht werden, müssen in der Zeile
If WorksheetFunction.CountIf(Columns(1), Cells(iRow, 1)) > 1 Then
die beiden Einsen (1) durch die Zahl der Spalte, die durchsucht werden soll, ersetzt werden. Für Spalte A steht eine 1, für Spalte B eine 2, für C eine 3 usw.
Ich hoffe, das Makro ist so, wie Du es Dir vorgestellt hast. Bei Fragen oder Änderungswünschen hier noch mal Posten.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
ich hätte da eine Makrolösung anzubieten. Nachfolgendes Makro muss in ein Standard Modul in Deiner Datei kopiert werden.
Sub Duplikate_finden_und_loeschen()
Dim iRow As Integer, iRowL As Integer
iRowL = Cells(Cells.Rows.Count, 1).End(xlUp).Row
For iRow = iRowL To 1 Step -1
If WorksheetFunction.CountIf(Columns(1), Cells(iRow, 1)) > 1 Then
Select Case MsgBox("Ein Duplicat befindet sich in Zeile" & iRow, 35, "Sicherheitsabfrage")
Case 6
Rows(iRow).Delete
Case 2
Exit Sub
End Select
End If
Next iRow
End Sub
Das Makro macht folgendes: Es durchsucht die Spalte A nach Duplicate. Wird eine Übereinstimmung gefunden, erscheint ein Fenster mit der Angabe der Zeile, in der sich der doppelte Eintrag befindet und man kann dann auswählen, ob die Zeile, in der der doppelte Eintrag steht gelöscht werden soll.
Soll eine andere Splate al A durchsucht werden, müssen in der Zeile
If WorksheetFunction.CountIf(Columns(1), Cells(iRow, 1)) > 1 Then
die beiden Einsen (1) durch die Zahl der Spalte, die durchsucht werden soll, ersetzt werden. Für Spalte A steht eine 1, für Spalte B eine 2, für C eine 3 usw.
Ich hoffe, das Makro ist so, wie Du es Dir vorgestellt hast. Bei Fragen oder Änderungswünschen hier noch mal Posten.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von Trudi
Hallo Coros,
erst mal vielen Dank für das Makro. Leider werde ich heute wahrscheinlich keine Zeit haben mich damit zu beschäftigen, da meine Kollegen bei der Arbeitsverteilung großzügig an mich gedacht haben und mein eigentlicher Job mehr im Labor ist. Ich werde mich also Montag damit beschäftigen.
Aber eine Frage Hab ich noch: Ich bin eigentlich kein Freund von Makros. Eine Andere Lösung gibt es nicht?
Gruß und Danke
Trudi
erst mal vielen Dank für das Makro. Leider werde ich heute wahrscheinlich keine Zeit haben mich damit zu beschäftigen, da meine Kollegen bei der Arbeitsverteilung großzügig an mich gedacht haben und mein eigentlicher Job mehr im Labor ist. Ich werde mich also Montag damit beschäftigen.
Aber eine Frage Hab ich noch: Ich bin eigentlich kein Freund von Makros. Eine Andere Lösung gibt es nicht?
Gruß und Danke
Trudi
Antwort 3 von Guenter
Hi,
man kann mit Daten, Filter, Spezialfilter
Keine Duplikate angeben.
Dazu sollten die Daten in einem Tabellenblatt vorliegen. Dann kommt es darauf an, wie Deine Daten vorliegen.
Ansonsten finde ich die Makrolösung von coros schon gut und auch komfortabel. Allerdings sollten die Daten bei diesem Makro auch in einer Tabelle vorliegen. Das kann man aber ändern für mehrere Tabellenblätter.
Gruß
Günter
man kann mit Daten, Filter, Spezialfilter
Keine Duplikate angeben.
Dazu sollten die Daten in einem Tabellenblatt vorliegen. Dann kommt es darauf an, wie Deine Daten vorliegen.
Ansonsten finde ich die Makrolösung von coros schon gut und auch komfortabel. Allerdings sollten die Daten bei diesem Makro auch in einer Tabelle vorliegen. Das kann man aber ändern für mehrere Tabellenblätter.
Gruß
Günter
Antwort 4 von ALHE
next try ;)

