OK, this is horribly unoptimized, but it's brute force and works. This will work with the string in cell A1 and will output the new string in cell A2
Sub Macro4()
'
' Macro4 Macro
Dim strInput As String, strOutput As String, lastTrim As String, firstTrim As String
Dim varZz As Variant
Dim i As Integer
Dim iLoop As Integer
strInput = Range("A1").Value
varZz = Split(strInput, ";")
iLoop = UBound(varZz)
Dim finalOutput As String
finalOutput = ""
For i = 0 To iLoop
lastTrim = Trim(Left(varZz(i), InStr(1, varZz(i), ",") - 1))
firstTrim = Trim(Right(varZz(i), Len(varZz(i)) - InStrRev(varZz(i), ",", -1)))
strOutput = firstTrim & ", " & lastTrim
finalOutput = finalOutput & "; " & strOutput
Next i
finalOutput = Right(finalOutput, Len(finalOutput) - 2)
Range("A2").Value = finalOutput
End Sub