假设我有两个带有值的列:
z
我希望能够循环每一行(比这更多)并设置一个范围,以便我可以像这样组合单元格:
A1 B1
A2 B2
A3 B3
是否有一种方法可以使用A1 B1
A1 B2
A1 B3
A2 B1
A2 B2
A2 B3
A3 B1
A3 B2
A3 B3
来设置范围,以获取每一行的范围,如下所示,以便将A1与B1:B3中的每个单元格匹配?
我当时想尝试使用
这样的间接引用来设置范围 Set Range(DesiredRange) = A1,B1:B3
要获得以下范围的结果:
Set Range = A1, B1:B3
我想最小化循环。我在想,如果您可以将一个区域添加到每个单元格中,那么您可以将其设置为类似的范围,但是我不确定是否可以使用。
答案 0 :(得分:0)
我知道您曾经写过要最小化循环,但这确实是经典的嵌套循环。您想要做的是遍历A
列,对于每个A
,遍历B
列。在VBA中,它看起来像这样:
row = 1
For i = 1 To Range("A1:A3").Count
For j = 1 To Range("B1:B3").Count
Range("C" & row).Value = Range("A" & i)
Range("D" & row).Value = Range("B" & j)
row = row + 1
Next
Next