我在A列中有一个名单,我想在C和D列中列出这些名称的所有组合(而不是排列)。对于8个名字,我应该在C列和D列中列出28种组合。我根本不知道如何使用VBA,因此可以理解一个简单的分步指南。感谢
答案 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 打开宏对话框,然后运行宏。您的结果应与以下内容类似。