Hallo Leute,
ich habe ein kleines Problem mit der Namensauflösung und Zusammensetzung von einer Mail Adresse.
Es gibt einige Regeln zur Erstellung einer Mailadresse.
hier einige Beispiele:
aus Max Mustermann wird M.Mustermann@test.de (einfacher Vorname, einfacher Nachname)
aus Max Fritz Mustermann wird M.Mustermann@test.de (doppelter Vorname, aber kein Rufname, einfacher Nachname)
aus Max-Fritz Mustermann wird M-F.Mustermann@test.de (doppelter Vorname als Rufname, einfacher Nachname)
aus Max-Fritz Mustermann-Fritzchen wird M-F.Mustermann-Fritzchen@test.de (doppelter Vorname als Rufname und doppelter Nachname)
Bis hierhin habe ich die Formel auch schon hin (in C5 ist der Name):
=WENN(ISTZAHL(SUCHEN("-";C5));(LINKS(C5;1)&LINKS((TEIL(C5;FINDEN("-";C5)*1;100));2));LINKS(C5;1)) &"."&RECHTS(C5;LÄNGE(C5)-VERWEIS(999;FINDEN(" ";C5;ZEILE(A:A)))) &"@test.de"
Das Problem was ich habe ist ein einfacher Vorname mit doppeltem Nachnamen
Beispiel:
aus Max Mustermann-Fritzchen (wird mit meiner Formel) M-F.Mustermann-Fritzchen@test.de, es soll aber M.Mustermann-Fritzchen@test.de werden
Hat jemand eine Idee, wie auch der letzte Fall gelöst werden kann?
Beste Grüße Michael
Function Mail_Adresse(strName As String) As String Dim BS As Integer, LE As Integer Dim PBS As Integer, PLE As Integer BS = Len(strName) - Len(Replace(strName, "-", "")) 'Anzahl Bindestriche PBS = InStr(strName, "-") 'Position erster Bindestich LE = Len(strName) - Len(Replace(strName, " ", "")) 'Anzahl Leerzeichen PLE = InStr(strName, " ") 'Position erstes Leerzeichen If LE = 2 Then PLE = InStr(PLE + 1, strName, " ") 'bei 2 Leerzeichen, die letzte Position _ nehmen If BS > 0 And PBS < PLE Then Mail_Adresse = Left(strName, 1) & Mid(strName, PBS, 2) & "." & Mid(strName, PLE + 1) & " _ @test.de" Else Mail_Adresse = Left(strName, 1) & "." & Mid(strName, PLE + 1) & "@test.de" End If End FunctionLG UweD