Clever-Excel-Forum

Normale Version: Text-Duplikate entfernen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallöchen,

hast Du mal die 13 Zeilen analysiert, die zuviel sind? Gibt es da irgendwelche Besonderheiten?
Nur mal ein Beispiel. In Deinem Beispiel aus Beitrag #7 ist der Eintrag in C7 rechtsbündig, alle anderen linksbündig. Wieso eigentlich? Gibt es bei Deinen 13 zusätzlichen Daten auch Auffälligkeiten?
Hallo Mahadmakandis,
ich habe mir meinen Code noch mal angeschaut.
Sicherheitshalber: Ich suche nur nach 'Duplikaten' in Spalte 1. Wenn das nicht in Deinem Sinne ist, müsstest Du erklären, was genau für Dich ein Duplikat ist.
Gruß der Alte Dresdner
(17.06.2016, 21:25)schauan schrieb: [ -> ]Hallöchen,

hast Du mal die 13 Zeilen analysiert, die zuviel sind? Gibt es da irgendwelche Besonderheiten?
Nur mal ein Beispiel. In Deinem Beispiel aus Beitrag #7 ist der Eintrag in C7 rechtsbündig, alle anderen linksbündig. Wieso eigentlich? Gibt es bei Deinen 13 zusätzlichen Daten auch Auffälligkeiten?

Moin, leider weiß ich ja nicht welche 13 Zeilen eventuell zuviel sind. Das habe ich nur an der Summe festgemacht und der eigentlich noch meiner Logik enstehenden Summe.
Ich könnte die Datensätze jetzt nur von Hand überprüfen, das geht aber aufgrund der Masse nicht.
Die Formatierung in C7 ist nur durch das Exportieren entstanden. In Excel sind alle linksbündig und gleich formatiert.
Ansonsten gibt es keine Auffälligkeiten. Da ich aber die Formel nicht habe wie diese Interaktionen entstanden sind kann ich nicht ausschließen das dort ein Fehler entstanden ist.
Zitat:Hallo Mahadmakandis,
ich habe mir meinen Code noch mal angeschaut.
Sicherheitshalber: Ich suche nur nach 'Duplikaten' in Spalte 1. Wenn das nicht in Deinem Sinne ist, müsstest Du erklären, was genau für Dich ein Duplikat ist.
Gruß der Alte Dresdner
Das ist vollkommen richtig. Die Spalte 1 und 2 sind identisch und nur entstanden weil ich 2 Tabellen in PowerQuery kombiniert habe. Die enthalten also redundante Informationen.
Die Erklärung was für "mich" in diesem Problem ein Duplikat ist habe ich in #1 und #5 versucht zu beschreiben. Es ist eben nur die umgekehrte Variante einer Interaktion.

Hat es einen Einfluss wenn hinter dem "-" auch mal zwei Ziffen stehen? Es gibt also auch Nummern dort steht da eine 10. Hast du die Anzahl der Ziffern berücksichtig oder geht es nur um das "gesamte" vor und hinter dem "_"?

Beste Grüße,
MahadmaKandis
Hallöchen,
Du bist da schon auf der richtigen Fährte. In den Codezeilen mit Mid steht hinten +1. Dort könnte eine 2 helfen. Ich kann das aber nicht testen, bin gerade nur am Handy.
Moin ihr beiden,

ich habe jetzt mal nach den Interaktionen gesucht die eine zweistellige Zahl nach dem "-" haben.. es sind tatsächlich 13 Stück!
Genau diese Interaktionen finde ich dann auch noch doppelt ::)

Ich würge trotzdem gerne noch verstehen, wie ich den Code anpassen kann.
Wenn ich die beiden Stellen wo "Mid" steht von einer 1 auf eine 2 ändere kommt in Excel nur die "Keine Rückmldung". Das Makro wird also nicht wie vorher ausgeführt. Es werden dann garkeine Interaktionen mehr gelöscht. Woran kann das liegen?

Außerdem würde ich gerne wissen ob die ich Stellen wo "a1,a2,a3,a4" steht einfach mit einem anderen Buchstaben austauschen kann?
Denn machmal stehen die Interaktionen nicht in der Spalte A. Dort muss ich den Code anpassen. Genügt es dann den Buchstaben auszutauschen?

Beste Grüße und schonmal einen großen Dank an euch!
Hallo Mahdmakandis,
so einfach geht es nicht. Die Namen a1,a2,... sind Variablennamen, ihre Änderung bringt gar nichts.
Nochmal: Ich suche nur in Spalte 1 ab Zeile 2 nach Duplikaten, es wird immer alles vor "_" und nach "_" verglichen.
Allerdings habe ich da einen kleinen Denkfehler drin (ich habe symmetrischen Aufbau vorausgesetzt, 03931354-1_03914334-13geht also schief), insofern waren die zweistelligen Zahlen das Problem.
Wenn Du eine Zeile in den Code einfügst (die erste gibt es schon):
      While Not IsEmpty(.Cells(i, 1))
        j = InStr(1, .Cells(i, 1), "_")
dann sollte es nun klappen.
Wenn Deine Daten nicht in Spalte A stehen, so müsste überall, wo .Cells(....,1) steht, die 1 in die Nummer der Spalte geändert werden, die entsprechende Spaltennummer statt der 1 eingefügt werden.
Besser wäre aber eine automatisierte Lösung, z.B. Du wählst die Zelle aus, wo die Liste beginnt und startest dann mit Strg-q. Ich hole per Makro Zeilen- und Spaltennummer aus der aktiven Zelle.
Das dies letzte (und auch die zweistelligen Zahlen) realisierende neue DupKill steht als Anhang da.
Gruß der AlteDresdner
Hallo, der Code in deiner angehängten Datei sieht aber aus wie der Code zuvor. Außer das dass "i" durch ein "zeile" ersetzt wurde.
Hast du es mal bei dir getestet? Bei mir kommt er weiterhin auf 430 anstatt 417 und das Problem mit den zweistelligen Daten besteht weiterhin.

Beste Grüße,
MahadmaKandis
Hallo Mahdmakandis,
es gibt da schon Unterschiede, insbesondere die Zeile j=... nach dem zweiten While not isempty(...
Getestet habe ich mit Konstruktionen z.B. 03931354-1_03914334-13, da funktionierte es.
Poste doch mal die nicht gefundenen Duplikate, vielleicht sieht man dann weiter...
Gruß der AlteDresdner
Hallo Mahadmakandis,
möglicherweise hast Du Leerzeichen oder nicht druckbare Zeichen in den zweistelligen Problemfällen. Versuche mal
      a1 = WorksheetFunction.Clean(Trim(Left(.Cells(zeile, spalte), j - 1)))
      a2 = WorksheetFunction.Clean(Trim(Mid(.Cells(zeile, spalte), j + 1)))
das Gleiche mit a3,a4. Wenn es nicht hilft, stelle mal eine Datei mit den Problemfällen ins Forum.
Gruß der AlteDresdner
Ich kann das ganze erst am Montag wieder testen werde mich dann aber nochmal zu Wort melden. Wenn es nicht klappt auch mit einer Datei, danke!
Seiten: 1 2 3