This maybe?

Sub After_semicollon()

For Each rc In Selection
    
    If Len(rc.Value) > 0 Then
    If InStr(rc, ";") > 0 Then
        rc.Value = Trim(Replace(rc.Value, rc.Offset(, -1).Value & ";", ""))
    End If
    End If
Next rc

End Sub