Spróbuj takie makro:
Sub imiona()
Dim wiersz As Long, komorka As String
For wiersz = 2 To Cells(Rows.Count, 2).End(xlUp).Row
komorka = Replace(Cells(wiersz, 2), " ", "") 'usuwam spacje
komorka = Join(sortuj(Split(komorka, ",")), ",") 'sortuje i łączę
komorka = Replace(komorka, ",", ", ") 'dopisuję spacje
Cells(wiersz, 2) = komorka
Next wiersz
End Sub
Function sortuj(lista)
Dim i As Long, j As Long, tekst As String
For i = 0 To UBound(lista) - 1
For j = i To UBound(lista)
If StrComp(lista(i), lista(j), vbTextCompare) = 1 Then
tekst = lista(i)
lista(i) = lista(j)
lista(j) = tekst
End If
Next j
Next i
sortuj = lista
End Function |