Combo box help
Certainly didn't understand the difference between the
two, Tom. Below is what I'm trying to get to. If thats
called permutations then that is what I'm after. Just like
this below. Could you assist.
The reason I need them like this is that they refer to
specific options such as OptionA OptionB OptionC
I need 3 macros to do this as they are unique (dare I say
it, combinations). The next macro would produce as below
except the 8 would be the common number in the middle e.g.
7 8 9 and 7 8 6 and 7 8 5. The last macro would be 7 9 8
and 7 6 8 and 7 5 8 etc.
Hope I haven't confused the issue again.
Obviously the greater the number (up to 10 can be used
with the common number), the larger the permutations. If
you could help I would be grateful.
Thanks.
8 7 9
8 7 6
8 7 5
8 7 4
8 7 2
8 6 9
8 6 7
8 6 5
8 6 4
8 6 2
8 5 9
8 5 7
8 5 6
8 5 4
8 5 2
8 4 9
8 4 7
8 4 6
8 4 5
8 4 2
8 2 9
8 2 7
8 2 6
8 2 5
8 2 4
-----Original Message-----
You say 8,7,2 is missing, but it isn't 8,2,7 is
produced. You must not
understand the mathematical concept of combinations.
Combinations don't
assign any special significance to order - so 8,7,2 is
the same as 8,2,7 or
2,7,8, etc.
to the best of my knowledge, the code produces the unique
combinations. If
you want permutations, then that is different - but you
asked for
combinations.
--
Regards,
Tom Ogilvy
"Rick" wrote in message
...
Hi Tom,
Also, I posted the below request on 4th Sept last and
you
kindly replied with the code below. It works fine but
progressively drops off entries from the output.
Could you have a look at the code.
If I enter 8 in M10 and
2, 4, 5, 6, 7, 9 in C10, D10, E10, F10, G10, H10
respectively, the code runs without error, but some of
the
combinations are missing. For example:-
8,7,2
8,7,4
8,7,5
8,9,2
8,7,6
8,6,2
8,6,5
8,6,4
8,9,4 etc etc
This is what I get
8 7 9 Missing 4 combinations
8 6 9
8 6 7 Missing 3
8 5 9
8 5 7
8 5 6 Missing 2
8 4 9
8 4 7
8 4 6
8 4 5 Missing 1
8 2 9
8 2 7
8 2 6
8 2 5
8 2 4 Correct
Also, what change do I need to do to the code to have
the
value in M10 appear in the second column only with all
the
combinations and also to have the value in M10 appear
exclusively in the third column with all the other
combinations. I will use 3 separate macros.
Cheers
Rick
-----Original Message-----
Option Explicit
Sub tester9()
Dim arr(0 To 9) As Long
Dim arr1(1 To 3) As Long
Dim cnt As Long, varr As Variant
Dim j As Long, i As Long, k As Long
Dim m As Long
'Dim sStr as String
varr = Range("C10:L10")
arr1(1) = Range("M10").Value
j = 70
Range("C70").CurrentRegion.ClearContents
For i = 1 To 1023
bldArr i, arr, cnt
If cnt = 2 Then
m = 2
' sStr = ""
For k = 0 To 9
' sStr = sStr & arr(k)
If arr(k) = 1 Then
If varr(1, k + 1) = 0 Then
Exit For
End If
arr1(m) = varr(1, k + 1)
m = m + 1
End If
If m = 4 Then Exit For
Next
' Debug.Print i, sStr, m
If m = 4 Then
Cells(j, 3).Resize(1, 3).Value = arr1
j = j + 1
End If
End If
Next
End Sub
Sub bldArr(num As Long, arr() As Long, cnt As Long)
Dim lNum As Long, i As Long
lNum = num
Dim sStr As String
sStr = ""
cnt = 0
For i = 9 To 0 Step -1
If lNum And 2 ^ i Then
cnt = cnt + 1
arr(9 - i) = 1
sStr = sStr & "1"
Else
arr(9 - i) = 0
sStr = sStr & "0"
End If
Next
' If cnt = 2 Then
' Debug.Print num, sStr
' End If
End Sub
.
|