当前位置: > excel排列组合问题...
题目
excel排列组合问题
有四列,假设分别为A,B,C,D.
A列有3个数据,简单假设为1,2,3.
B列有27个数据,简单假设为1-27
C列有22个数据,简单假设为1-22
D列有23个数据,简单假设为1-23.
现在希望得到一个排列组合的结果.
如1,1,1,1
1,1,1,2
1,1,1,3
.
请问能写一个宏来处理这个难题?
我的数据不是简单的有规律的数字.请不要用数据之间的关系来写宏.

提问时间:2020-10-29

答案
用多个 FOR 和 NEXT来实现,比如下面这个
Sub zuhe()
Dim a, b, c, d, e
For a = 1 To 9
For b = 1 To 7
For c = 1 To 6
For d = 1 To 9
e = a & b
e = e & c
e = e & d
Range("a" & 65536).End(xlUp).Offset(1, 0).Value = e
Next
Next
Next
Next
End Sub
将所有1-9,1-7,1-6,1-9的组合,共计3402个不同组合全部罗列出来
以下是你需要的宏,要设置a,b,c,d列里面为你要组合出来的数字,最大组合能力262140个 :
Sub zuhe()
Dim A, B, C, D
Dim H, I, J, K, L, M
A = Application.WorksheetFunction.Max(Range("a:a"))
B = Application.WorksheetFunction.Max(Range("b:b"))
C = Application.WorksheetFunction.Max(Range("c:c"))
D = Application.WorksheetFunction.Max(Range("d:d"))
For H = 1 To A
For I = 1 To B
For J = 1 To C
For K = 1 To D
M = M + 1
L = Range("a" & H).Value & Range("b" & I).Value & Range("c" & J).Value & Range("d" & K).Value
Range("e1").Value = "组合如下:"
If M
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
1,人们染上烟瘾,最终因吸烟使自己丧命.
版权所有 CopyRight © 2012-2019 超级试练试题库 All Rights Reserved.