使用循环设置范围

时间:2018-08-20 18:22:34

标签: excel vba range

假设我有两个带有值的列:

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

我想最小化循环。我在想,如果您可以将一个区域添加到每个单元格中,那么您可以将其设置为类似的范围,但是我不确定是否可以使用。

1 个答案:

答案 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