ich habe eine Funktion geschrieben, die falsch geschriebene Namen in der Groß- und Kleinschreibung automatisch korrigieren soll. Dabei werden die Namen nach Bindestrich und Leerzeichen auseinandergenommen. Leider klappt der eigene Aufruf der Funktion nicht, es erscheint immer die Fehlermeldung "Fehler beim Kompilieren: Argumententyp ByRef unverträglich".
Ich würde mich sehr freuen, wenn Ihr mir helfen würdet.
Viele Grüße
Martin
Sub AuswertungVorname()
'Testnamen: hans-günter, hans - günter, HANS-GÜNTER, hans günter, HANS GÜNTER, hANS gÜNTER
MsgBox Namenskorrektur("hans günter", "-")
End Sub
Function Namenskorrektur(Name As String, Delimiter As String)
Dim NameArr As Variant
Dim i As Integer
NameArr = Split(Name, Delimiter)
Name = ""
For i = 0 To UBound(NameArr)
NameArr(i) = Trim(NameArr(i)) ' falls "Hans - Günter"
If NameArr(i) "" Then
NameArr(i) = UCase(Left(NameArr(i), 1)) & LCase(Right(NameArr(i), Len(NameArr(i)) - _
1))
'Die folgende Zeile bereitet mir Probleme:
NameArr(i) = Namenskorrektur(NameArr(i), " ")
If i = 0 Then Name = NameArr(i) Else Name = Name & Delimiter & NameArr(i)
End If
Next i
Namenskorrektur = Name
End Function