PDA

Vollständige Version anzeigen : Vor und Nachname auslesen


Sulimann
11.07.2006, 13:01
Hallo,

ich habe nachfolgenden Funktion mit der ich den Nachnamen auslese, wie
kann ich den Vor- und Nachnamen und nur den Vornamen auslesen.

Bsp. Frau Maria Mustermann

Public Function GetNachname(ByVal strName As String) As String
GetNachname = Mid(strName, InStrRev(strName, " ") + 1)

End Function


Gruß Sulimann

JörgG
11.07.2006, 15:28
Hallo Sulimann,

ich würde die Funktion um ein Argument erweitern um damit strName zu splitten:
Public Function GetName(ByVal strName As String, Optional VN As String = "") As String
Dim vAnrede As Variant, j As Integer, i As Integer: i = 1
On Error GoTo Fehler

'Anrede ermitteln und ausschneiden
vAnrede = Array("Frau", "Frl.", "Herr", "Dr.", "Prof.")
For j = 0 To UBound(vAnrede)
If InStr(1, strName, vAnrede(j)) Then i = Len(Mid(strName, 1, InStr(1, strName, vAnrede(j)))) + Len(vAnrede(j))
Next j
strName = Trim(Mid(strName, i))

'Rückgabewert zuweisen
If VN = "V" Then
GetName = Trim(Mid(strName, 1, InStr(1, strName, " ", 1)))
ElseIf VN = "N" Then
GetName = Mid(strName, InStrRev(strName, " ") + 1)
Else
GetName = strName
End If

Exit Function
Fehler:
GetName = ""
End Function
Aufrufe:
VorNachname = GetName(strName)
Nachname = GetName(strName, "N")
Vorname = GetName(strName, "V")
Einen Haken hat die Sache, wenn Doppel-(Vor-/Nach)namen ins Spiel kommen, wird es wohl ohne ein bischen Handarbeit nicht gehen.

Sulimann
11.07.2006, 16:01
Super, danke funktioniert.

Gruß Sulimann