excel vba 排列组合

我想求出所有可能组合的结果,哪位高人能告诉小弟一下,每组的数字个数不一样,并且不连续,比如第一组1,3,4;第二组3,4;第三组4,5,6;第四组7,第五组8,9;然后求... 我想求出所有可能组合的结果,哪位高人能告诉小弟一下,每组的数字个数不一样,并且不连续,比如第一组1,3,4;第二组3,4;第三组4,5,6;第四组7,第五组8,9;然后求出所有组合的情况,在excel显示,谢谢啦 展开
 我来答
帐号已注销
2011-04-21 · TA获得超过8613个赞
知道大有可为答主
回答量:3242
采纳率:66%
帮助的人:2828万
展开全部
0~9每个数字的组合,下面是VBA:
----
Public Sub zuhe()
Dim a$, b() As String, n%, m&, i&, j%, s$, ff$, c As Range
Set c = [a1] '结果放置的位置,A列
n = 10 'n<=10,改变n值,可以取得其他数字的组合,如n=3,则取得0~2的数字组合
m = 2 ^ n - 1
For i = 1 To n
a = a & (i - 1)
Next
ReDim b(1 To m)
ff = String(n, "0")
For i = LBound(b) To UBound(b)
s = Format(DECtoBIN(i), ff)
For j = 1 To n
If Mid(s, j, 1) * 1 Then b(i) = Mid(a, n - j + 1, 1) & "," & b(i)
Next
b(i) = "'" & Left(b(i), Len(b(i)) - 1)
Next
c.EntireColumn.ClearContents
For i = LBound(b) To UBound(b)
c(i) = b(i)
Next
MsgBox "ok!" & Chr(10) & Chr(10) & a & " 数字组合的总个数为: " & m
End Sub
Public Function DECtoBIN(ByVal Dec) As String
DECtoBIN = ""
Do While Dec > 0
DECtoBIN = Dec Mod 2 & DECtoBIN
Dec = Dec \ 2
Loop
End Function
gcxdsh
2011-04-21 · TA获得超过113个赞
知道小有建树答主
回答量:170
采纳率:100%
帮助的人:130万
展开全部
每组数字从哪里获取,是在表格里还是手动输入,如果是放在表格里的,是在不同的单元格还是在同一个单元格。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-04-21
展开全部
简单
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dnydxw
2011-04-21 · TA获得超过1.5万个赞
知道大有可为答主
回答量:2942
采纳率:0%
帮助的人:1429万
展开全部
你要组合的数据是什么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式