EXCEL用VBA解决排列组合问题

COMBIN(X,Y)是组合公式,我需要所有的组合都列出来如图,看很多类似的问题是用VBA解决的,主要是我的数不是连续的,又是变的,有很多情况所以用X,Y.
期待高人现身!

像这样,假设有不规则的10个数,从中取出3个。COMBIN(10,3)=120种情况,能在旁边一一列出即可。

我有自定义函数可以解决。

见图:

追问

请问,X,Y在哪改,其他情况怎么办

追答

A1:A10 就是你的X
3就是你的Y
你把它当成是普通excel函数就可以。你可以在excel函数中找到。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-23
Sub pl()
Dim j, r, ar, arr
With ActiveSheet
j = .[A65536].End(xlUp).Row
ar = .Range("A1:B" & j)
ReDim arr(1 To UBound(ar) - 2, 1 To 3)
For r = 1 To UBound(ar)
If r < UBound(ar) - 1 Then
arr(r, 1) = ar(r, 1)
arr(r, 2) = ar(r + 1, 1)
arr(r, 3) = ar(r + 2, 1)
End If
Next
.Cells(1, 3).Resize(r - 3, 3) = arr
End With
End Sub
第2个回答  2013-12-23
如果xy可变,那就需要在VBA中使用递归调用
相似回答