您的位置首页生活百科

如何让e船守乐金菜半先陈核角xcel自动排列组合大据第

如何让e船守乐金菜半先陈核角xcel自动排列组合大据第

的有关信息介绍如下:

问题补充说明:如图,每位号码下面列了该位上所有可能的数字。如何让excel自动排列出所有可能的号码组合?

使用vba实现

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

然后从第二行第一列开始生成每列镇儿众太料确是觉始些数据,每列数据数字不重复,数量随机。

实及挥具斯号祖调显现代码如下:

12345678910111213141516171819202122232425Sub 按钮1_Click()    Application.ScreenUpdating = False    A早较队洋毫绍就所二死ctiveSheet.UsedRange.ClearContents '清空表格    a = InputBox("请输入产生序列的列数") '提示输入列数    Set d = CreateObject("scripting.dictionary") '字典去重    If VB激圆八A.IsNumeric(a) Then '判断输入的是否是数值,不是则跳出程序        Randomize '初始化随机数                 For j = 1 To Int(a) '生成输入列数的随机数            b = Int(Rnd * 99999) Mod 10 + 1 ' 每列产生随机号能收跟又轻掌确数的数量            d.RemoveAlll2:            I否喜关门f d.Count <> b Then '生成随机数                d(Int(Rnd * 99善999) Mod 10) = ""                GoTo l2            E殖好定心块战永述nd If            C哪老你林开攻换路无ells(2, j).华Resize(d.Count) = WorksheetFunction.Transpose(d.keys) '将随机数存入相应列里        Next j    Else        MsgBox "请输入数值"        GoTo l1    End Ifl1:    Application.ScreenUpdati沙铁争司复ng = TrueEnd Sub

程序执行效果:

如何让e船守乐金菜半先陈核角xcel自动排列组合大据第

很抱歉,回答者上传的附件已失效