请教大神,如何使用vba进行排列组合

RT,无顺序组合有多少种可能性... RT,无顺序组合有多少种可能性 展开
 我来答
l7722526
2018-10-18 · TA获得超过2.7万个赞
知道大有可为答主
回答量:2.8万
采纳率:84%
帮助的人:3700万
展开全部
33个中取任意4个的宏如下:
Sub test()
Dim i, j, k, l As Byte
Application.ScreenUpdating = False
Cells(1, 1).Select
For i = 1 To 30
For j = i + 1 To 31
For k = j + 1 To 32
For l = k + 1 To 33
Selection = i
Selection.Offset(0, 1) = j
Selection.Offset(0, 2) = k
Selection.Offset(0, 3) = l
Selection.Offset(1, 0).Select
Next
Next
Next
Next
Application.ScreenUpdating = True
End Sub

33个中取任意3个的宏如下:
Sub test()
Dim i, j, k As Byte
Application.ScreenUpdating = False
Cells(1, 1).Select
For i = 1 To 31
For j = i + 1 To 32
For k = j + 1 To 33
Selection = i
Selection.Offset(0, 1) = j
Selection.Offset(0, 2) = k
Selection.Offset(1, 0).Select
Next
Next
Next
Application.ScreenUpdating = True
End Sub

33个中取任意2个的宏如下:
Sub test()
Dim i, j As Byte
Application.ScreenUpdating = False
Cells(1, 1).Select
For i = 1 To 32
For j = i + 1 To 33
Selection = i
Selection.Offset(0, 1) = j
Selection.Offset(1, 0).Select
Next
Next
Application.ScreenUpdating = True
End Sub

在2007版中,还可以实现取5个的,自己对照修改吧。取6个以上,格子不够。
一箭惊仙
2018-10-19 · TA获得超过870个赞
知道小有建树答主
回答量:1724
采纳率:62%
帮助的人:601万
展开全部
要是算有多少种可能性,比如每组都是7个数,那就是7*7*7*7
要是列出来所有的可能性,就用代码,枚举法
不过这么多写出来也看不过来吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
DoramiHe
2018-10-18 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25334 获赞数:59537
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
Sub Click()
Dim a, b, c, d, e, f, i
i = 1
For a = 1 To 12
For b = a + 1 To 12
For c = b + 1 To 12
For d = c + 1 To 12
For e = d + 1 To 12
For f = e + 1 To 12
Cells(i, 1) = a
Cells(i, 2) = b
Cells(i, 3) = c
Cells(i, 4) = d
Cells(i, 5) = e
Cells(i, 6) = f
i = i + 1
Next f
Next e
Next d
Next c
Next b
Next a

End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2018-10-18 · TA获得超过1663个赞
知道小有建树答主
回答量:6318
采纳率:30%
帮助的人:921万
展开全部
写代码需要具体文件,规则详情
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式