Excel VBA生成3列或更多列的单元格的组合

我想在Excel中创build关键字组合,但不是所有可能的排列组合(这将创build太多的组合)

这里有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,这将是完美的。

提前致谢

像这样的东西可能会工作:

 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 

我把输出写到即时窗口,但是你可以把它放在你喜欢的任何地方。

如果你想添加更多的列,你需要添加更多的循环。 如果单元格是空的,它将不会将任何内容(不存在的单元格内容)添加到string中。