VBScript自体には、ソートする関数はありません。
なので、自前で実装する必要があります。
ソートして表示するのが目的ならJScriptに配列を渡してJScriptでソートすることができます。(ただしソート結果をVBScriptからは利用できません)
それなら、初めからJScriptを使うといいかもしれませんね。
とりあえず、サンプルとして作ってみました。
Sub ArraySort(a, ascending) 'ascending=0:降順,1:昇順
Dim wk, i, j, k
Dim n
n = UBound(a)
k = n \ 2
Do While (k > 0) 'シェルソート
For i = 0 To n - k
j = i
Do While (j >= 0)
If a(j) > a(j + k) Then
wk = a(j)
a(j) = a(j + k)
a(j + k) = wk
j = j - k
Else
Exit Do
End If
Loop
Next
k = k \ 2
Loop
If ascending = 0 Then '逆順にする
i = 0: j = n
Do Until (i >= j)
wk = a(i)
a(i) = a(j)
a(j) = wk
i = i + 1: j = j - 1
Loop
End If
End Sub
'テスト
Dim a, i, result
a = Array(2, 4, 21, 4, 22, 12, 3, 4)
result =""
Call ArraySort(a, 0)
For i = 0 To UBound(a)
result=result & a(i) & " "
Next
MsgBox result
a = Array("ABC", "DDE", "BCD", "FFF", "AAB", "DEEE", "DEF", "TEST")
result =""
Call ArraySort(a, 1)
For i = 0 To UBound(a)
result=result & a(i) & " "
Next
MsgBox result
--------------------------------------------------------------------
降順の場合、昇順でソートして逆順にしているので、
別に降順で初めからソートするものを作って呼び出すようにした方がいいかもしれません。