(16.02.2017, 17:18)purestyles schrieb: DANKE ... ich probier das mal gleich aus ... nein mit den Leerzeichen noch nicht ! ich das hier wichtig ? ABER 1000 Dank für die ausführliche Hilfe !
Schaut so aus in der Testtabelle und geht nicht ...Ich bin echt frustriert ....
Zitat:nein mit den Leerzeichen noch nicht ! ich das hier wichtig ?
Bist Du darüber im Klaren, was Du willst? Natürlich ist das wichtig!!! Lasse bitte die Finger von diesem Thema und frage, ob sich jemand in der Firma mit Excel auskennt! Alternativ frage den Chef, ob er Geld in die Hand nimmt. Ich übernehme jedenfalls in einem Forum keine Verantwortung für einen Datenbestand, der ohnehin eher in einer Datenbank verwaltet werden sollte. … alleine die Tatsache, Dubletten KOMPLETT zu löschen …
Ich bin im Sinne des Datenbestandes hier raus, und Du solltest es auch sein.
Nix für ungut, Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
noch Interesse an einer Lösung, vielleicht kann ich mit VBA helfen. Ich verweise ausdrücklich auf die Aussage vonn Ralf + steve1da. Grundsaetzlich arbeiten wir nur in einer separaten Testdatei!! Kein Ratgeber im Forum übernimmt die Verantwortung für das versemmeln von 120.000 Daten!!
Gehen wir mal zusammen einen neuen Weg, bzw. den bereits vorgeschlagenen von Ralf. Kopiere beide EMails in die neue Spalte "D" untereinander und lasse mal beide Makro nacheinander laufen. Bitte in der richtigen Reihenfolge.
Im Prinzip soll es ja irgenwann einmal einen neuen gültigen Datensatz geben, oder sehe ich das falsch. Die alten Datensaetze würde ich zur Vorsicht in einer Extra Tabelle speichern. damit man immer auf diese Daten zurückgreifen kann. Ist das ein praktikabler Vorschlag zum gemeinsamen Lösen des Problems?? Aber bitte in einer Testdatei ausprobieren!!
mfg Gast 123
Code:
Option Explicit '16.2.2017 Gast 123 Clever Forum
'1. zuerst dieses Makro laufen lassen Sub Fragezeichen_und_Space_löschen() Dim AC As Object, lz As Long lz = Range("D200000").End(xlUp).Row
For Each AC In Range("D2:D" & lz) AC.Value = Trim(AC) 'Space löschen 'Fragezeichen hiner ".de" löschen '** nur wenn kein ".net" vorkommt!! If Len(AC) - InStr(AC, ".") = 3 Then AC.Value = Left(AC, Len(AC) - 1) End If Next AC End Sub
'2. danach dieses Makro laufen lassen Sub Doppelte_Mails_löschen() Dim AC As Object, lz As Long lz = Range("D200000").End(xlUp).Row GoSub sort 'Daten sortieren
'Schleife für doppelte Löschen For Each AC In Range("D2:D" & lz) If AC.Value = AC.Offset(1, 0) Then _ AC.Value = Empty 'doppelte löschen Next AC GoSub sort 'Daten sortieren Exit Sub
sort: 'Sortieren Unterprogramm Range("D2:D" & lz).sort Key1:=Range("D2"), Order1:=xlAscending, Header:=xlNo, _ OrderCustom:=1, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal Return End Sub
Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:1 Nutzer sagt Danke an Gast 123 für diesen Beitrag 28 • purestyles
ich habe vergessen zu frgen: gibt es bei den Mail Adressen auch 3stelligen Laendercode wie ".net"?? Dann würde das kappen der 3. Stelle einen Fehler verursachen. Fiel mir gerade so ein. Ist aber korrigierbar.
ich habe vergessen zu frgen: gibt es bei den Mail Adressen auch 3stelligen Laendercode wie ".net"?? Dann würde das kappen der 3. Stelle einen Fehler verursachen. Fiel mir gerade so ein. Ist aber korrigierbar.
mir ist aufgefallen, dass du jede Antwort (selbst auf deine eigenen Beiträge hin) als Zitatantwort schreibst. Das ist in den meisten Fällen nicht nötig. Benutze doch bitte den "Antworten"-Button unterhalb des Threads; dann fallen die Zitate weg. Solltest du einzelne Passagen des Verständnisses wegen zitieren wollen/müssen, steht dem natürlich nichts im Wege.
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)