如何在Excel中列出所有可能的数字组合

时间:2013-04-18 20:57:07

标签: excel excel-vba vba

在单元格“A1”= 123且“A2”= 456。

我可以知道如何显示所有可能的组合,使其看起来像这样:

123
132
213
231
312
321
456
465
546
564
645
654

我尝试在线搜索但找不到任何解决方案。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以使用以下函数生成字符串中数字的所有排列。

Sub GetPermutation(x As String, y As String, ByRef CurrentRow As Double)
    Dim i As Integer, j As Integer
    j = Len(y)
    If j < 2 Then
        Cells(CurrentRow, 1) = x & y
        CurrentRow = CurrentRow + 1
    Else
        For i = 1 To j
            Call GetPermutation(x + Mid(y, i, 1), _
            Left(y, i - 1) + Right(y, j - i), CurrentRow)
        Next
    End If
End Sub

您可以这样做:

CurrentRow = 2
Call GetPermutation("",Range("A1").value,CurrentRow)