Hallo… ich habe folgendes Problem:
Ich habe eine Arbeitsmappe mit mehreren Arbeitsblättern, die stetig mit Daten gefüllt wird. Nun kann es vorkommen, dass gleiche Einträge (Zeilen)in mehreren Arbeitsblättern vorkommen.
Wie kann ich diese finden, um sie zu löschen. Wichtig für mich ist, dass jeder Eintrag immer nur in der Arbeitsmappe ist. Somit müsste ich die Dupletten finden, um entscheiden zu können in welchem Arbeitsblatt ich sie lösche.
Vielen Dank schon mal im voraus und viele Grüße
Stefan
Wenn Du weißt nach welchen Einträgen Du suchen musst, markiere alle Arbeitsblätter und unter Bearbeiten - Suchen werden alle Arbeitsblätter durchsucht, nach deinen Kriterien.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo… leider weiß ich das nicht. Vielmehr will ich genau das erfahren, welche Einträge gleich sind.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo, Stefan!
Ich habe eine Arbeitsmappe mit mehreren Arbeitsblättern, die
stetig mit Daten gefüllt wird. Nun kann es vorkommen, dass
gleiche Einträge (Zeilen)in mehreren Arbeitsblättern
vorkommen.
Wie kann ich diese finden, um sie zu löschen. Wichtig für mich
ist, dass jeder Eintrag immer nur in der Arbeitsmappe ist.
Somit müsste ich die Dupletten finden, um entscheiden zu
können in welchem Arbeitsblatt ich sie lösche.
Das klingt ein wenig wirr, vor allem wirr, wie die Daten ihren Weg in die Datei finden…
Wie auch immer, über ein paar Dinge solltest Du Dir erst einmal klar werden:
Wie definierst Du „gleich“?
Welche Einträge sollen ggf. gelöscht werden? Welche sollen stehen bleiben? Ist das eine automatisierbare, d. h. eindeutig definierte Entscheidung, oder würfelt das ein Anwender aus?
Haben die unterschiedlichen Arbeitsblätter die gleiche Struktur, d. h. den gleichen Tabellen-/Spaltenaufbau?
Und wie kommen die Daten eben in die Datei? Warum geschieht das nicht gleich halbwegs koordiniert?
Gruß, Manfred
Hallo… ich habe verschiedene Selektionen mit unterschiedlichen Selektionskriterien. Diese Selektionen werden als neues Arbeitsblatt in die Arbeitsmappe kopiert. Da es unterschiedliche Selektionskriterien gibt, können schon mal Treffer doppelt sein. Und diese zu finden, ist mein Problem. Der Seitenaufbau der einzelnen Arbeitsblätter ist immer gleich.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo, Stefan!
Hallo… ich habe verschiedene Selektionen mit
unterschiedlichen Selektionskriterien. Diese Selektionen
werden als neues Arbeitsblatt in die Arbeitsmappe kopiert. Da
es unterschiedliche Selektionskriterien gibt, können schon mal
Treffer doppelt sein. Und diese zu finden, ist mein Problem.
Der Seitenaufbau der einzelnen Arbeitsblätter ist immer
gleich.
Und wo soll dann gelöscht werden?
Ich würde derzeit ungefähr so vorgehen: Per Makro alle Daten in ein „Masterblatt“ zusammenkopieren, dann ggf. sortieren, dann per Formel in einer zusätzlichen Spalte die doppelten Einträge markieren (Gleichheit über alle betreffenden Spalten der aktuellen Zeile mit der davor), Filtern in dieser Spalte nach „mehrfachen“ Einträgen und diese dann löschen. Ansonsten wird’s nämlich auch blöd, Daten zu suchen: In welchem Blatt soll gesucht werden?
Wäre das eine Lösung für Dich?
Gruß, Manfred
Hallo… das klingt vernünftig. allerdings muss ich jetzt erstmal makro und formel basteln und schauen wie ich das genau mache…
danke schonmal
gruß
Stefan
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Wie kann ich diese finden, um sie zu löschen. Wichtig für mich
ist, dass jeder Eintrag immer nur in der Arbeitsmappe ist.
Somit müsste ich die Dupletten finden, um entscheiden zu
können in welchem Arbeitsblatt ich sie lösche.
Hi Stefan,
Programmtechnisch ist es einfacher Dubletten gleich zu löschen.
Mein Code geht die Blätter von links nach rechts und im Blatt Zeilenweise jeweils von unten nach oben durch.
Sind im Blatt die Zeilen 1,6,12,78 gleich so werden die Zeilen 1,6,12 gelöscht.
Option Explicit
'
Sub tt()
Dim Zeile As String, wks As Worksheet, Z As Long, Spa As Long, colZeile As New Collection
On Error GoTo Doppelt
For Each wks In ThisWorkbook.Worksheets
For Z = wks.Cells(wks.Rows.Count, 1).End(xlUp).Row To 1 Step -1
Zeile = ""
For Spa = 1 To wks.Cells(Z, Columns.Count).End(xlToLeft).Column
Zeile = Zeile & wks.Cells(Z, Spa) & ","
Next Spa
If Zeile "" And Zeile "," Then colZeile.Add Zeile, Zeile
Next Z
Next wks
Exit Sub
Doppelt:
wks.Rows(Z).Delete
Resume Next
End Sub
Gruß
Reinhard