(16.02.2017, 16: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
Hallo,
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
Nachtrag
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.
(16.02.2017, 18:25)Gast 123 schrieb: [ -> ]Nachtrag
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.
ja aber wenig .com und .net
(16.02.2017, 18:35)purestyles schrieb: [ -> ]ja aber wenig .com und .net
ACH und ich denke das es schon klar ist das das 3 und 4-fach gesichert ist - ich probier das jetzt - DANKE !!!!
(16.02.2017, 18:40)purestyles schrieb: [ -> ]ACH und ich denke das es schon klar ist das das 3 und 4-fach gesichert ist - ich probier das jetzt - DANKE !!!!
Fehler beim Kompilieren.:
Syntaxfehler
(ThisWorkbook 4:0)
Hi,
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.
SORRY - DANKE FÜR DIE HILFE - Am Mac hab ich scheinbar einen Fehler im VBA Editor - da bin ich noch am schauen wie ich das löse
Bitte, Bitte, Bitte, …
Lasse die Finger von der Herdplatte, sie könnte heiß sein!
(Habe ich letztmalig zu meiner Tochter gesagt, lang ist es her)
Ich wiederhole deutlich:
Du bist noch nicht so weit, die Hitze zu erkennen, also lasse die Finger davon!
Oder hast Du den nächsten Job schon sicher?
Gruß Ralf