0

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

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

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

我试图在网上搜索,但找不到任何解决方案。任何帮助将不胜感激。

4

1 回答 1

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)
于 2013-04-18T22:01:46.927 回答