.
espero no llegar tarde con lo de las permutaciones
Option Explicit
Private Sub Priv_GetPermutaciones(ByRef vData As String, ByRef ArrOuput() As String, ByRef lng_pos As Double, Optional ByRef strFixed As String)
Dim int_t As Integer
If Len(vData) <> 1 Then
For int_t = 1 To Len(vData)
Priv_GetPermutaciones Left$(vData, int_t - 1) & Mid$(vData, int_t + 1), ArrOuput(), lng_pos, strFixed & Mid$(vData, int_t, 1)
Next int_t
Else
ArrOuput(lng_pos) = strFixed & vData
lng_pos = lng_pos + 1
End If
End Sub
Public Function GetPermutaciones(ByRef vData As String, ByRef ArrOuput() As String) As Long
Dim lng_i As Long
Dim lng_buff As Double
lng_buff = 1
For lng_i = 1 To Len(vData)
lng_buff = lng_buff * lng_i
Next lng_i
ReDim ArrOuput(0 To lng_buff - 1)
Call Priv_GetPermutaciones(vData, ArrOuput(), 0)
GetPermutaciones = lng_buff
End Function
Private Sub Form_Load()
Dim str_Arr() As String
Dim lng_i As Long
For lng_i = 0 To GetPermutaciones("BlackZeroX", str_Arr()) - 1
Debug.Print str_Arr(lng_i)
Next lng_i
End Sub
Temibles Lunas!¡.