传播可能不是正确的词,但我发现“合并”和“结合”问题的答案似乎并不适用。
我有两张完全不同的数据表。例如:sheet1 可能有一列项目,sheet2 可能有一列颜色。我需要在一张表上最终得到 2 列,其中包含其他 2 张表中列的所有可能组合。
因此,在上面的例子中,如果 sheet1 有 140 个项目而 sheet2 有 17 种颜色,则我需要 sheet3 有一个项目列、一个颜色列和 2,380 条记录(每个项目和可能的颜色组合一个)。
答案1
这是一个您可以采用的简单示例。
保存我们有7列中的项目A和3列中的颜色乙. 运行这个简短的宏:
Sub combine()
Dim K As Long, i As Long, j As Long, Nitems As Long, Ncolors As Long
K = 1
Nitems = 7
Ncolors = 3
For i = 1 To Nitems
For j = 1 To Ncolors
Cells(K, "C").Value = Cells(i, "A").Value & "," & Cells(j, "B").Value
K = K + 1
Next j
Next i
End Sub
将在列中生成此内容C: