Excel - 列出一个列表中两个单词的所有组合,在另外两列中

时间:2014-12-29 13:03:17

标签: excel combinations

我在A列中有一个名单,我想在C和D列中列出这些名称的所有组合(而不是排列)。对于8个名字,我应该在C列和D列中列出28种组合。我根本不知道如何使用VBA,因此可以理解一个简单的分步指南。感谢

1 个答案:

答案 0 :(得分:2)

点击 Alt + F11 ,当VBE打开时,立即使用下拉菜单插入►模块( Alt + 中号)。将以下内容粘贴到标题为 Book1 - Module1(Code)

的新窗格中
Sub name_by_name()
    Dim i As Long, j As Long, lr As Long
    With ActiveSheet
        lr = .Cells(Rows.Count, 1).End(xlUp).Row
        For i = 2 To lr
            For j = i + 1 To lr
                .Cells(Rows.Count, 3).End(xlUp).Offset(1, 0) = _
                  .Cells(i, 1).Value & ", " & .Cells(j, 1).Value
            Next j
        Next i
    End With
End Sub

我想象你的名单在第2行开始(A1作为标题标签)。如果名称以A1开头,请将For i = 2 To lr更改为For i = 1 To lr。我还用空格 逗号分隔了组合名称。如果你愿意,可以将这三行进一步改变。点击 Alt + Q 返回工作表。点击 Alt + F8 打开对话框,然后运行宏。您的结果应与以下内容类似。

Combined Names