Excel combinación 6 [cerrado]

0

Buenos días,

Estoy tratando de hacer en Excel todas las combinaciones posibles de 1 a 6 sin repetir.

6! ¿Cómo puedo enumerar las 720 posibilidades?

Gracias, ejemplos 123456 132456 654321

Francisco
fuente
Aquí está la solución en C. ¿Por qué quieres usar Excel? ¿Sería suficiente tomar el resultado y pegarlo como 720 filas, o hay algún aspecto dinámico de la hoja de trabajo que necesitará?
Aron Foster
Puede aplicar el ejemplo de Aron Foster en VBA para mantenerlo dentro de Excel si lo desea.
Eric F
¿Ha hecho algún esfuerzo para resolver esto usted mismo?
Raystafarian
¿Qué código tienes hasta ahora? ¿Qué funciona exactamente y qué no?
Mokubai
1
@STTR: si solo fuera un sitio de matemáticas.
fijador1234

Respuestas:

2

Esta macro es simple, pero lenta:

Sub Pickz()
    Dim i As Long, j As Long, k As Long, l As Long, m As Long, n As Long
    Dim Z As Long
    Z = 1
    For i = 1 To 6
    For j = 1 To 6
    For k = 1 To 6
    For l = 1 To 6
    For m = 1 To 6
    For n = 1 To 6
    If Zort(i, j, k, l, m, n) Then
        Cells(Z, 1) = i & j & k & l & m & n
        Z = Z + 1
    End If
    Next n
    Next m
    Next l
    Next k
    Next j
    Next i
End Sub

Function Zort(i, j, k, l, m, n) As Boolean
    Dim c As Collection
    Set c = New Collection
    Zort = True
    On Error Resume Next
    c.Add i, CStr(i)
    c.Add j, CStr(j)
    c.Add k, CStr(k)
    c.Add l, CStr(l)
    c.Add m, CStr(m)
    c.Add n, CStr(n)
    If Err.Number = 0 Then
    Else
        Zort = False
        Err.Number = 0
    End If
    On Error GoTo 0
End Function
Estudiante de gary
fuente
@ fixer1234 Pruebe el código ......... ZORT () reduce la salida a 720 muestras.
Gary's Student
Copie la función Zort () de mi publicación junto con el sub Pickz () .
Gary's Student
Estoy demasiado oxidado en VBA. ¿Es una propiedad de una colección que todos los miembros deben ser únicos?
fijador1234
Sí ... si lo usa con una clave (la parte CStr () ) se rechazan los duplicados
Gary's Student
Gracias por la educacion. +1. Si eres ambicioso, incluir una breve explicación de cómo funciona sería una gran respuesta general.
Fixer1234