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中。