如何让excel自动排列组合 50

如图,每位号码下面列了该位上所有可能的数字。如何让excel自动排列出所有可能的号码组合?... 如图,每位号码下面列了该位上所有可能的数字。如何让excel自动排列出所有可能的号码组合? 展开
 我来答
Excel办公_VBA
2017-03-14 · 教育领域创作者
个人认证用户
Excel办公_VBA
采纳数:3279 获赞数:2332

向TA提问 私信TA
展开全部

使用vba实现

自动排列组合,生成排列组合的列数,手动输入

然后从第二行第一列开始生成每列数据,每列数据数字不重复,数量随机。

实现代码如下:

Sub 按钮1_Click()
    Application.ScreenUpdating = False
    ActiveSheet.UsedRange.ClearContents '清空表格
    a = InputBox("请输入产生序列的列数") '提示输入列数
    Set d = CreateObject("scripting.dictionary") '字典去重
    If VBA.IsNumeric(a) Then '判断输入的是否是数值,不是则跳出程序
        Randomize '初始化随机数
        
        For j = 1 To Int(a) '生成输入列数的随机数
            b = Int(Rnd * 99999) Mod 10 + 1 ' 每列产生随机数的数量
            d.RemoveAll
l2:
            If d.Count <> b Then '生成随机数
                d(Int(Rnd * 99999) Mod 10) = ""
                GoTo l2
            End If
            Cells(2, j).Resize(d.Count) = WorksheetFunction.Transpose(d.keys) '将随机数存入相应列里
        Next j
    Else
        MsgBox "请输入数值"
        GoTo l1
    End If
l1:
    Application.ScreenUpdating = True
End Sub

程序执行效果:


MaXJran
2017-03-01 · TA获得超过820个赞
知道小有建树答主
回答量:1035
采纳率:86%
帮助的人:490万
展开全部
选中列 自定义排序 选中要排序的列 主要的在第一个 。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
charlexbd
2016-11-03 · TA获得超过4.2万个赞
知道大有可为答主
回答量:2885
采纳率:0%
帮助的人:661万
展开全部
你的问题是一个排列遍历,用 Excel 中的 VB 编程实现可能效率高一些。
更多追问追答
追问
请问具体要怎么做?
追答
不知道你是不是熟悉 VB 编程?如果熟悉的话,用 VB编一个 11级嵌套的循环,
最里边的循环遍历最后一位:3、7、9
次里边... 最后第二位:3、8、9
再次.... 最后第三位:0、6、8
......
直到.... 最后第11位:1
这样就把全部的号码都排列出来了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
siguoxiang
2016-11-13 · TA获得超过3995个赞
知道大有可为答主
回答量:1.2万
采纳率:76%
帮助的人:8983万
展开全部
如何利用EXCEL解决排列组合问题_百度经验 http://jingyan.baidu.com/article/20095761879734cb0721b4ef.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式