ich möchte gern eine Namensliste in Vor- und Nachname trennen.
Da ich nicht weiß, in welchem Format, "Name, Vorname" oder "Vorname Nachname", die Liste existiert, soll das Script das allein herausfinden.
Ich habe folgenden Code:
Sub NameTrennen()
Dim Name As String
Dim Vorname As String
Dim Nachname As String
Dim Zeile As Integer
For Zeile = 5 To Worksheets("Namen Sort.").Range("c2")
On Error Resume Next
Name = Worksheets("Namen Sort.").Cells(Zeile, 1)
If InStr(Name, ",") Then
Nachname = Left(Name, InStr(Name, ",") - 1)
Vorname = Replace(Name, Left(Name, InStr(Name, ",") + 1), "")
Worksheets("Namen Sort.").Cells(Zeile, 9).Value = Nachname
Worksheets("Namen Sort.").Cells(Zeile, 10).Value = Vorname
Else
Nachname = Mid(Name, InStrRev(Name, " ") + 1)
Vorname = Replace(Name, Nachname, "")
Worksheets("Namen Sort.").Cells(Zeile, 9).Value = Nachname
Worksheets("Namen Sort.").Cells(Zeile, 10).Value = Vorname
End If
Next
End Sub
Der Code macht auch alles, was ich will. Ich hätte nur gern gewußt, wie es "richtig programmiert" aussehen muss.
Vor allem ist mir meine "Replace"-Konstruktion sehr suspect, ebenso die Variablendim. Und es sieht auch alles so ziemlich Laienhaft aus.
Ich würde mich freuen, wenn sich jemand diesen Code mal anschauen kann und mir einen Kommentar hinterlässt.
Vielen Dank im Voraus und
Viele Grüße
Kulo