El siguiente código tiene 3 modalidades de ordenar las letras, ascendente, descendente y aleatorio.
Option Explicit
Option Base 1
Const SORT_ASC = 1
Const SORT_DES = 2
Const SORT_RAND = 3
Function SortAbc(SortMode As Integer) As String
Dim iChar() As Byte
Dim bExist As Boolean
Dim i%, ind%, iRnd%
Dim sData$
ReDim Preserve iChar(0 To (vbKeyZ - vbKeyA)) As Byte
Call Randomize(vbKeyZ)
For i = vbKeyA To vbKeyZ
Select Case SortMode
Case SORT_DES
sData = sData & Chr$((vbKeyZ - i) + vbKeyA)
Case SORT_ASC
sData = sData & Chr$(i)
Case SORT_RAND
NewNum:
iRnd = Rnd * vbKeyZ
If iRnd < vbKeyA Then GoTo NewNum
For ind = 1 To (vbKeyZ - vbKeyA)
If iChar(ind) = iRnd Then
bExist = True
Exit For
End If
Next
If ind >= 25 Then bExist = False
If bExist Then GoTo NewNum
iChar(i - vbKeyA) = iRnd
sData = sData & Chr$(iChar(i - vbKeyA))
End Select
Next
SortAbc = sData
End Function
Saludos.
EDIT: Sólo funciona en VB6 porque .NET no acepta los GoTo.