用vb或者vba在excel里编一个排列组合的小程序

求高人用vb或者vba在excel里编一个排列组合的小程序,要求是这样运算的:在A列中输入一列数据 1、2、3、4......n(数据个数可以自定),要求自动排列组合,结果按顺序显示在B列里,组合出的数据中不能有重复的元素。比如A列中输入1、2、3,B列中就会列出1、2、3、12、13、21、23、31、32、123、132、213、231、312、321。

VBA语言:
在A列中输入一列数据 ,自动排列组合,结果按顺序显示在B列:
Private Sub numzh()
Dim h, l, n1, n2
h = [a65536].End(xlUp).Row
l = 1
For n1 = 1 To h
Range("b" & l) = Range("a" & n1)
l = l + 1
Next
n2 = 1
Do While n1 > h
For n1 = 1 To h
If n2 = n1 Then
n1 = n1 + 1
End If
If n1 > h Then Exit Sub
Range("b" & l) = Range("a" & n2) & Range("a" & n1)
l = l + 1
Next
n2 = n2 + 1
Loop
End Sub
你看看可以吗?
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-21
多给点分,再留个邮箱,或许会有人做好excel程序文件直接发给你,现在即使给你一堆程序你也难以真正在excel里去实现。
第2个回答  2011-08-23
assdsd
第3个回答  2011-08-20
高手啊,根本看不懂

用vb或者vba在excel里编一个排列组合的小程序
Range("b" & l) = Range("a" & n1)l = l + 1 Next n2 = 1 Do While n1 > h For n1 = 1 To h If n2 = n1 Then n1 = n1 + 1 End If If n1 > h Then Exit Sub Range("b" & l) = Range("a" & n2) & Range("a" & n1)l = l + 1 Next n2 = n2 + 1 ...

用vb或者vba在excel里编一个排列组合的小程序
第4,并判断组合中的数相加是否大于D4小于E4格子的值,D4,E4最大值才为6 你将组合中的数字相加,明显是大于E4的。没看懂你的问题

求一个vba在excel里编的排列组合的小程序
可以考虑参考百元百钞问题,算法不是很难,但是很麻烦,42个数如果是要按照一般方法估计计算时间会非常长,如果不需要全部排列的话,可以考虑一下用数据顺序的调换或者无序调换获得一部分排列,但是如果要排列出所有组合需要的时间会比用百元百钞的算法时间还长。。。

EXCEL表求VBA24选12排列组合小程序
1、1-50生成用下面生成 Excel列举两个整数间不重复随机数 2、再排列 Excel数据如何快速排列 或先按顺序排好后,会随机变位置 Excel数据随机生成一列非空值 用数据随机换位置

关于在excel中,排列组合的问题,请高手帮忙,最好不用vba。。。
不用VBA,就只能用15个公式。F1=A1&“ ”&B1&“ ”&C1,其它一一列出,还好写一行就够啦。下面的公式可以下啦。

用VB怎么求24点算法啊?哪位电脑高手帮个忙啊!
我利用一个嵌套函数实现四个数的排列,算法如下: \/* ans[] 用来存放各种排列组合的数组 *\/ \/* c[] 存放四张牌的数组 *\/ \/* k[] c[]种四张牌的代号,其中k[I]=I+1。 用它来代替c[]做处理,考虑到c[]中有可能出现相同数的情况 *\/ \/* kans[] 暂存生成的排列组合 *\/ \/* j 嵌套循环的次数 *\/...

请问阿尔法蛋会编程的机器人是哪一个?7岁的孩子能学会编程吗?_百度...
网上有很多教儿童编程的机构你可以在那里面去找。建议你不要那么早的去让小孩子接受这些东西。这些东西对小孩子来说也有好处,但是害处有很多的。我个人认为小孩子不要学那太早了。要给他们一个快乐的童年,他们像现在的时候就是我玩耍的时候,你这样的话就剥夺了他们的童年乐趣,使他们的童年一点乐趣...

如何用VB写 求24点或任意值的四则运算 支持负数
我利用一个嵌套函数实现四个数的排列,算法如下: \/* ans[] 用来存放各种排列组合的数组 *\/ \/* c[] 存放四张牌的数组 *\/ \/* k[] c[]种四张牌的代号,其中k[I]=I+1。 用它来代替c[]做处理,考虑到c[]中有可能出现相同数的情况 *\/ \/* kans[] 暂存生成的排列组合 *\/ \/* j 嵌套循环的次数 *\/...

相似回答