HI!
Leider hab ich noch nie etwas in Exel usw programmiert.
Aber VBA soll ja VB ser ähnlich sein.
Vielleicht hilft dir mein Code ja weter
Code:
Private Const AlleTitel As String = "DR. DDR. PROF. DOKTOR UNIPROF. MED."
Private Sub Command1_Click()
Dim fullname As String 'Hier wird der Volle Name zwischengespeichert
Dim VName As String 'Hier kommt der nachname hin
Dim NNAme As String 'Hier der Vorname
Dim Titel As String 'Die gesammelten Titel
Dim temp As String 'Hält den Temporären Abschnitt
Dim iPos As Integer 'Um zu entscfheiden ob wir beim vornamen oder beim nachnamen sind
fullname = Trim(Text1.Text) & " " 'Alle führenden und nachkommenden spaces wegschneiden und ein space hinufügen
While Len(fullname) > 0 'Solange wir was zum verarbeiten haben
temp = Left(fullname, InStr(1, fullname, " ") - 1) 'Den nächsten teil des namens (bis zum sapce) rausschneiden
fullname = Right(fullname, Len(fullname) - InStr(1, fullname, " ")) 'Den anderen teil rausschneiden
If InStr(1, AlleTitel, UCase(temp)) Then 'Prüfen ob der Teil des namens ein Titel ist dh ob er in unserem AlleTitel String vorkommt
'Es ist ei nTitel also zu unseren endgültigen Titeln hinzufügen
Titel = Titel & " " & temp
Else
'Es ist kein titel
If iPos = 0 Then
'Wen niPos noch 0 ist ist es der vorname
VName = temp
iPos = 1
Else
'Ansonsten der Nachname
NNAme = temp
End If
End If
Wend
Titel = LTrim(Titel) 'Das 1. Leerzeichen vom titel wegschneiden
End Sub
Das wichtigste ist das von links nach rechts jeder teil einzeln abgearbeitet wird.
Um zu entscheiden ob es ein Titel ist oder nicht, haben wir einen String in dem Alle titel drinnen stehen, dann prüfen wir ub der abschnit den wir gerade beabeiten in diesem string vorkommt, wenn ja dann wird er zu unserem Titel string hinzugefügt.
Ich hoffe mein Code ist verständlich und hilft dir weiter.
Bei Fragen melde dich einfach wieder.
lg