[color=darkblue]Sub[/color] SplitNames()
[color=darkblue]Dim[/color] V, X [color=darkblue]As[/color] [color=darkblue]Long[/color]
V = Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).Value
[color=darkblue]For[/color] X = [color=darkblue]LBound[/color](V, 1) [color=darkblue]To[/color] [color=darkblue]UBound[/color](V, 1)
V(X, 1) = ConvertName(V(X, 1))
[color=darkblue]Next[/color] X
[color=darkblue]With[/color] Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)
.Value = V
.TextToColumns , xlDelimited, xlTextQualifierNone, [color=darkblue]False[/color], [color=darkblue]False[/color], [color=darkblue]False[/color], False, False, [color=darkblue]True[/color], "@"
[color=darkblue]End[/color] [color=darkblue]With[/color]
[color=darkblue]End[/color] [color=darkblue]Sub[/color]
[color=darkblue]Function[/color] ConvertName(RawNames) [color=darkblue]As[/color] [color=darkblue]String[/color]
[color=darkblue]Dim[/color] X [color=darkblue]As[/color] [color=darkblue]Long[/color], Y [color=darkblue]As[/color] Long
X = InStr(1, RawNames, ", ", vbBinaryCompare)
Y = 1
[color=darkblue]Do[/color] [color=darkblue]Until[/color] X = 0
[color=darkblue]If[/color] Y Mod 2 = 0 [color=darkblue]Then[/color] Mid(RawNames, X, 1) = "@"
X = InStr(X + 1, RawNames, ", ", vbBinaryCompare)
Y = Y + 1
[color=darkblue]Loop[/color]
ConvertName = Replace(RawNames, " ", vbNullString)
[color=darkblue]End[/color] [color=darkblue]Function[/color]