我想在Excel中创建关键字组合,但不是所有可能的排列(这会产生太多组合)
以下是3个示例列,我在此列出了2个值:
A:
Two
Three
B:
Red
Blue
C:
Shirts
Jackets
结果看起来像这样:
Two Red Shirts
Two Red Jackets
Two Blue Shirts
Two Blue Jackets
Three Red Shirts
Three Red Jackets
Three Blue Shirts
Three Blue Jackets
我不想要改变自己的立场,所以第三个词不能成为第一个。列可以具有不同数量的单元格。每个单元格可能有多个单词,如果将3列组合更改为4或5就很容易,那将是完美的。
提前致谢
答案 0 :(得分:2)
这样的事可能有用:
Sub test()
Dim x, y, z, lastRow As Long
lastRow = ThisWorkbook.Sheets(1).UsedRange.Rows.Count
For Each x In Range("A1:A" & lastRow)
For Each y In Range("B1:B" & lastRow)
For Each z In Range("C1:C" & lastRow)
Debug.Print x & " " & y & " " & z
Next z
Next y
Next x
End Sub
我将输出写入立即窗口,但您可以将它放在任何您喜欢的位置。
如果要添加更多列,则需要添加更多循环。如果单元格为空,则它将不附加任何内容(不存在的单元格内容)到字符串。