Sacar combinaciones

28/06/2007 - 13:26 por César | Informe spam
Hola a todos.

Tengo el siguiente código para sacar todas las combinaciones posibles de
unos valores:

a(1) = "ab" : a(2) = "cd" : a(3) = "ef" : a(4) = "gh" : a(5) = "ij" : a(6) =
"kl" : a(7) = "mn" : a(8) = "op" : a(9) = "qr"

For C1 = 1 To 2
For C2 = 1 To 2
For C3 = 1 To 2
For C4 = 1 To 2
For C5 = 1 To 2
For C6 = 1 To 2
For C7 = 1 To 2
For C8 = 1 To 2
For C9 = 1 To 2
b = Mid(a(1), C1, 1) & Mid(a(2), C2,
1) & Mid(a(3), C3, 1) & Mid(a(4), C4, 1) & Mid(a(5), C5, 1) & Mid(a(6), C6,
1) & Mid(a(7), C7, 1) & Mid(a(8), C8, 1) & Mid(a(9), C9, 1)
Range("A1").Offset(ccc, 0) = b
ccc = ccc + 1
Next
Next
Next
Next
Next
Next
Next
Next
Next

Esto funciona cuando tengo 9 valores pero necesito un código que me funcione
con cualquier número de valores.

Algo que me construya los bucles dinámicamente.

¿Alguna idea?

Gracias anticipadas.

Saludos, César.
 

Leer las respuestas

#1 Juan M
28/06/2007 - 14:47 | Informe spam
Hola César,

Revisa el contenido de esta conversación, por el medio de las respuestas
encontrarás una imagen con el arreglo de una hoja y el código para hacer las
combinaciones y permutaciones

http://tinyurl.com/22orul

Si tienes cualquier duda nos cuentas.

Un saludo,
Juan


"César" escribió en el mensaje
Hola a todos.

Tengo el siguiente código para sacar todas las combinaciones posibles de
unos valores:

a(1) = "ab" : a(2) = "cd" : a(3) = "ef" : a(4) = "gh" : a(5) = "ij" : a(6)
> "kl" : a(7) = "mn" : a(8) = "op" : a(9) = "qr"

For C1 = 1 To 2
For C2 = 1 To 2
For C3 = 1 To 2
For C4 = 1 To 2
For C5 = 1 To 2
For C6 = 1 To 2
For C7 = 1 To 2
For C8 = 1 To 2
For C9 = 1 To 2
b = Mid(a(1), C1, 1) & Mid(a(2),
C2,
1) & Mid(a(3), C3, 1) & Mid(a(4), C4, 1) & Mid(a(5), C5, 1) & Mid(a(6),
C6,
1) & Mid(a(7), C7, 1) & Mid(a(8), C8, 1) & Mid(a(9), C9, 1)
Range("A1").Offset(ccc, 0) = b
ccc = ccc + 1
Next
Next
Next
Next
Next
Next
Next
Next
Next

Esto funciona cuando tengo 9 valores pero necesito un código que me
funcione
con cualquier número de valores.

Algo que me construya los bucles dinámicamente.

¿Alguna idea?

Gracias anticipadas.

Saludos, César.

Preguntas similares