Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Email rausfiltern

Forumthread: Email rausfiltern

Email rausfiltern
Lucia
Hallo zusammen,
Ich hab eine Sache, bei der ich gerade keine elegante Lösung finde...:
Nach einem Export aus Outlook habe ich die Situation , dass der Absender der Autoreply Mail als z.B. postmaster auftritt, die eigentliche Email Adresse, an die ursächlich versendet wurde steckt in Zellen zwischen Textteilen eingeklammert durch . Diese Texte sind je nach Email System unterschiedlich, die Klammern sind aber immer gleich. Wie komme ich nun am elegantesten und schnellsten (1500 Datensätze) an diese Email Adressen?
Danke schon mal fürs mich vor dem Wahnsinn bewahren.
Lucia
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Email rausfiltern
20.09.2010 16:12:18
JogyB
Hallo Lucia,
wie genau sind die Datensätze angeordnet? Immer eine Zeile pro Mail oder anders? Steht die Adresse dort in einer beliebigen Spalte oder ist es immer dieselbe? Ist das @ in der Email-Adresse immer vorhanden?
Gruß, Jogy
AW: Email rausfiltern
20.09.2010 16:57:10
Lucia
Hi Jogi,
Eigentlich ganz simpel...
a) Immer eine zeile pro Mail
b) immer diesselbe Spalte
c) das @ ist immer vorhanden
Einzige Krux: der text drum rum ist manchmal verschieden.
Grüße,
Lucia:-)
Anzeige
AW: Email rausfiltern
20.09.2010 17:16:12
JogyB
Hallo Lucia,
dann ist das kein Thema. Ich nehme jetzt einfach mal Spalte F an, musst Du halt ändern. Und natürlich noch, wo die Mailadresse hingeschrieben werden soll.
Sub EmailRausfiltern()
Const mySp = 6 ' Spalte F, dort sucht das Makro
Const zielSp = 10 ' Spalte J, dort schreibt es die Email-Adresse hin
Dim zeLLe As Range
Dim regEx As Object
Dim maTches As Object
Dim mailAddy As String
Dim i As Long
Set regEx = CreateObject("VBScript.RegExp")
regEx.Pattern = "]+@[^]+>"
regEx.Global = True
' wirkt auf das aktuelle Arbeitsblatt, ggf. anpassen
With ActiveSheet
For Each zeLLe In .Range(.Cells(1, mySp), .Cells(Rows.Count, mySp).End(xlUp))
If zeLLe  "" Then
Set maTches = regEx.Execute(zeLLe.Value)
If maTches.Count > 0 Then
For i = 0 To maTches.Count - 1
mailAddy = mailAddy & IIf(mailAddy  "", ", ", "") & _
Mid(maTches(i), 2, Len(maTches(i)) - 2)
Next
zeLLe.Offset(, zielSp - mySp).Value = mailAddy
mailAddy = ""
End If
Set maTches = Nothing
End If
Next
End With
End Sub

Gruß, Jogy
Anzeige
AW: Email rausfiltern
20.09.2010 17:59:07
Lucia
Prima...wunderbar, hat geklappt!
Vielen Dank!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige