在Excel中怎么自动排列组合啊,比如有三个字母ABC,可以组合成AB AC BC 这

在Excel中怎么自动排列组合啊,比如有三个字母ABC,可以组合成AB AC BC 这样的 有什么方法能自动生成吗

使用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


程序执行效果:


追问

这个怎么弄啊

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网