ich möchte eine E-Mailadresse aus Daten in der Spalte A ausschneiden. Sie steht jeweils zwischen dem vorletzen und dem letzten Komma. Danke für Hilfe.
A | B | |
1 | asdasasd, 234234234, xcyxcyxc, qweqwqwe, 234234234, sdfsafasdf, a@b.de, asdasdasd | a@b.de |
2 | asdasasd, 234234234, qweqwqwe, 234234234, sdfsafasdf, b@c.de, asdasdasd | b@c.de |
3 | qweqwqwe, 234234234, sdfsafasdf, c@d.de, asdasdasd | c@d.de |
4 | asdasasd, 234234234, xcyxcyxc, qweqwqwe, asdasdasd, 234234234, sdfsafasdf, d@e.de, asdasdasd | d@e.de |
Zelle | Formel |
B1 | =fncBananenSplit(A1) |
B2 | =fncBananenSplit(A2) |
B3 | =fncBananenSplit(A3) |
B4 | =fncBananenSplit(A4) |
Option Explicit
Function fncBananenSplit(strTMP As String) As String
Dim strZ() As String
strZ = Split(strTMP, ",")
fncBananenSplit = Trim(strZ(UBound(strZ) - 1))
End Function
ServusA | B | |
1 | asdasasd, 234234234, xcyxcyxc, qweqwqwe, 234234234, sdfsafasdf, a@b.de, asdasdasd | a@b.de |
2 | asdasasd, 234234234, qweqwqwe, 234234234, sdfsafasdf, b@c.de, asdasdasd | b@c.de |
3 | qweqwqwe, 234234234, sdfsafasdf, c@d.de, asdasdasd | c@d.de |
4 | asdasasd, 234234234, xcyxcyxc, qweqwqwe, asdasdasd, 234234234, sdfsafasdf, d@e.com, asdasdasd | d@e.com |
5 | asdasasd, 234234234, xcyxcyxc, qweqwqwe, asdasdasd, 234234234, sdfsafasdf, e@f.de, asdasdasd | e@f.de |
Zelle | Formel |
B1 | =fncWerReitetSoSpaetDurchNachtUndWind(A1) |
B2 | =fncWerReitetSoSpaetDurchNachtUndWind(A2) |
B3 | =fncWerReitetSoSpaetDurchNachtUndWind(A3) |
B4 | =fncWerReitetSoSpaetDurchNachtUndWind(A4) |
B5 | =fncWerReitetSoSpaetDurchNachtUndWind(A5) |
Option Explicit
Function fncWerReitetSoSpaetDurchNachtUndWind(strText As String) As String
Dim objRegExp As Object
Dim objMAtch As Object
On Error GoTo Fin
Set objRegExp = CreateObject("VbScript.Regexp")
With objRegExp
.Global = True
.Pattern = "[a-z0-9\-_]?[a-z0-9.\-_]+[a-z0-9\-_]?@[a-z.-]+\.[a-z]{2,}"
If .Test(strText) Then
Set objMatch = .Execute(strText)
fncWerReitetSoSpaetDurchNachtUndWind = objMAtch(0).Value
Else:
fncWerReitetSoSpaetDurchNachtUndWind = "Bitte Funktion überprüfen!"
End If
End With
Fin:
Set objMAtch = Nothing
Set objRegExp = Nothing
End Function
Das "Pattern" erschlägt sicher nicht alle Mailadressen, aber da wird man im Netz schnell fündig.Um eine E-Mail-Adresse aus einem String in Excel auszuschneiden, die zwischen dem vorletzten und letzten Komma steht, kannst du die folgende Formel verwenden:
=LINKS(TEIL(A1;FINDEN("|";WECHSELN(A1;",";"|";LÄNGE(A1)-LÄNGE(WECHSELN(A1;",";""))-1))+1;999); FINDEN("|";WECHSELN(TEIL(A1;FINDEN("|";WECHSELN(A1;",";"|";LÄNGE(A1)-LÄNGE(WECHSELN(A1;",";""))-1)) +1;999);",";"|"))-1)
Option Explicit
Function fncBananenSplit(strTMP As String) As String
Dim strZ() As String
strZ = Split(strTMP, ",")
fncBananenSplit = Trim(strZ(UBound(strZ) - 1))
End Function
Option Explicit
Function fncWerReitetSoSpaetDurchNachtUndWind(strText As String) As String
Dim objRegExp As Object
Dim objMatch As Object
On Error GoTo Fin
Set objRegExp = CreateObject("VbScript.Regexp")
With objRegExp
.Global = True
.Pattern = "[a-z0-9\-_]?[a-z0-9.\-_]+[a-z0-9\-_]?@[a-z.-]+\.[a-z]{2,}"
If .Test(strText) Then
Set objMatch = .Execute(strText)
fncWerReitetSoSpaetDurchNachtUndWind = objMatch(0).Value
Else
fncWerReitetSoSpaetDurchNachtUndWind = "Bitte Funktion überprüfen!"
End If
End With
Fin:
Set objMatch = Nothing
Set objRegExp = Nothing
End Function
Hier sind einige Beispiele, um die oben genannten Methoden zu veranschaulichen:
Zelle | Daten | Formel | Ergebnis |
---|---|---|---|
A1 | asdasasd, 234234234, xcyxcyxc, qweqwqwe, a@b.de, asdasdasd | =fncBananenSplit(A1) |
a@b.de |
A2 | asdasasd, b@c.de, asdasdasd | =fncWerReitetSoSpaetDurchNachtUndWind(A2) |
b@c.de |
1. Warum funktioniert die Formel nicht?
Es könnte sein, dass die Zelle als Text formatiert ist oder der Text nicht die erwarteten Kommas hat. Überprüfe die Formatierung und den Inhalt der Zelle.
2. Kann ich die Methode auch für andere Strings verwenden?
Ja, die vorgestellten Funktionen sind flexibel und können für verschiedene Arten von Strings verwendet werden, solange du die Trennzeichen entsprechend anpasst.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen