Concretamente para lo que queria hacer se me ocurrio esto:
Option Explicit
Private Sub Aleatory_Comb(ByRef CharList() As String, ByVal iDigits As Integer, ByVal iNumber As Long)
Dim sWord As String
Dim lTotalChar As Long
Dim x As Long
Dim y As Long
Dim Col As Collection
Set Col = New Collection
lTotalChar = UBound(CharList())
If iNumber > (lTotalChar) ^ iDigits Then Exit Sub
On Error Resume Next
Do While y < iNumber
For x = 1 To iDigits
Randomize
sWord = sWord + CharList((Rnd * (lTotalChar - 1)) + 1)
Next
Col.Add sWord, sWord
If Err.Number = 0 Then
Debug.Print sWord
y = y + 1
Else
Debug.Print "Palabra duplicada : "; sWord 'Esta linea es solo para que veais que la detecta
Err.Clear
End If
sWord = vbNullString
Loop
Set Col = Nothing
End Sub
Private Sub Form_Load()
Dim Matriz() As String
Matriz = Split("a,b,c", ",") ' Solo pongo 3 letras para que se repitan =)
Call Aleatory_Comb(Matriz, 5, 7)
End Sub
Funcionar funciona...
Salu2!