Not very elegant, but does what you need...
Function testCmdrDuh(str2test As String) As String
Dim strFinal As String
Dim I As Integer
I = InStr(1, str2test, "P")
Do Until I = 0
strFinal = strFinal & Mid(str2test, I, 1)
str2test = Replace(str2test, "P", "", 1, 1)
I = InStr(1, str2test, "P")
Loop
I = InStr(1, str2test, "S")
Do Until I = 0
strFinal = strFinal & Mid(str2test, I, 1)
str2test = Replace(str2test, "S", "", 1, 1)
I = InStr(1, str2test, "S")
Loop
I = InStr(1, str2test, "L")
Do Until I = 0
strFinal = strFinal & Mid(str2test, I, 1)
str2test = Replace(str2test, "L", "", 1, 1)
I = InStr(1, str2test, "L")
Loop
I = InStr(1, str2test, "X")
Do Until I = 0
strFinal = strFinal & Mid(str2test, I, 1)
str2test = Replace(str2test, "X", "", 1, 1)
I = InStr(1, str2test, "X")
Loop
testCmdrDuh = strFinal
End Function