如何让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程序执行效果:
很抱歉,回答者上传的附件已失效