LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Problems with permutation


Your code does what it is written to do. It generates the 20736 unique
combinations of your numbers. If you want permutations, each row can be
permuted to produce 3628800 (permut(10,10)) permutations per row for a total
of
75,246,796,800 (20,736 x 3,628,000)

if you want to throw your 28 numbers into a group and pull out the 10 number
permutations, it would be

47,621,141,568,000 =permut(28,10)

Anyway, for whatever you want to define a permutation as, you code is giving
the combinations with each position in the combination restricted to the
entries in your respective rows.

--
Regards,
Tom Ogilvy





Henrik wrote in message
...
Hi,
The following macro is meant to permutate all possible
combinations of 10 arrays of numbers. However, I get error
messages when I try to run the macro. I suspect it might
be because the arrays (1-10) do not all have the same
lengths (the lenght of the arrays vary from 2 to 4
variables). However, the errors could be caused by another
problem. Does anyone have an idea of how to fix this
problem?
Thank you very much,
Henrik

Sub Permutate()

With Worksheets("input")

arr1 = .Range("D2:F2").Value
arr2 = .Range("D3:F3").Value
arr3 = .Range("D4:F4").Value
arr4 = .Range("D5:G5").Value
arr5 = .Range("D6:E6").Value
arr6 = .Range("D7:G7").Value
arr7 = .Range("D8:E8").Value
arr8 = .Range("D9:F9").Value
arr9 = .Range("D10:E10").Value
arr10 = .Range("D11:E11").Value

End With


rw = 1

For i = LBound(arr1, 2) To UBound(arr1, 2)
For j = LBound(arr2, 2) To UBound(arr2, 2)
For k = LBound(arr3, 2) To UBound(arr3, 2)
For l = LBound(arr4, 2) To UBound(arr4, 2)
For m = LBound(arr5, 2) To UBound(arr5, 2)
For n = LBound(arr6, 2) To UBound(arr6, 2)
For o = LBound(arr7, 2) To UBound(arr7, 2)
For p = LBound(arr8, 2) To UBound(arr8, 2)
For q = LBound(arr9, 2) To UBound(arr9, 2)
For r = LBound(arr10, 2) To UBound(arr10, 2)

With Worksheets("permutation")


.Cells(rw, 1) = arr1(1, i)
.Cells(rw, 2) = arr2(1, j)
.Cells(rw, 3) = arr3(1, k)
.Cells(rw, 4) = arr4(1, l)
.Cells(rw, 5) = arr5(1, m)
.Cells(rw, 6) = arr6(1, n)
.Cells(rw, 7) = arr7(1, o)
.Cells(rw, 8) = arr8(1, p)
.Cells(rw, 9) = arr9(1, q)
.Cells(rw, 10) = arr10(1, r)

End With

rw = rw + 1

Next: Next: Next: Next: Next: Next: Next: Next: Next: Next

End Sub



 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
permutation Margie Excel Worksheet Functions 3 April 11th 08 12:03 AM
Permutation in excel Sweden Excel Worksheet Functions 2 September 25th 05 05:05 PM
Permutation in excel Sweden Excel Worksheet Functions 1 September 17th 05 02:16 AM
Permutation in excel Sweden Excel Worksheet Functions 2 September 16th 05 06:49 PM
Permutation and combination vishu Excel Discussion (Misc queries) 2 May 19th 05 07:47 AM


All times are GMT +1. The time now is 02:49 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"