Ciao..per realizzare quello che hai chiesto mi servirebbe un pò di tempo, cmq per darti un'idea di come la funzione dovrebbe procedere ti posto questo codice scritto su due piedi..
Inserisci in un form 3 listbox, list1,list2 e list3.
codice:
Private Sub Form_Load()
Dim Matrice(10) As Long
For i = 1 To UBound(Matrice)
Matrice(i) = i
Next i
For i = 1 To UBound(Matrice)
    For k = i To UBound(Matrice)
        If Matrice(i) <> Matrice(k) Then
            List1.AddItem i & "-" & k
        End If
            For z = k To UBound(Matrice)
                If Matrice(i) <> Matrice(z) And Matrice(i) <> Matrice(k) And Matrice(z) <> Matrice(k) Then
                    List2.AddItem i & "-" & k & "-" & z
                End If
                    For y = z To UBound(Matrice)
                        If Matrice(i) <> Matrice(z) And Matrice(i) <> Matrice(k) _
                        And Matrice(z) <> Matrice(k) And Matrice(y) <> Matrice(k) _
                        And Matrice(y) <> Matrice(z) And Matrice(y) <> Matrice(i) Then
                            List3.AddItem i & "-" & k & "-" & z & "-" & y
                    End If
                    Next y
            Next z
    Next k
Next i
End Sub
Il primo ciclo for/next serve per riempire la matrice, chiaramente per velocizzare ho creato una matrice di numeri in ordine..

fammi sapere..

ciao