当变量是数组时,VBA for循环多个变量

时间:2017-07-11 18:46:23

标签: arrays vba excel-vba variables for-loop

我有一个功能

Range("M32") = Range("D26").Value

我想在for循环中使用m = [Range(“M32”)Range(“M40)]和d = [Range(”D26“)Range(”D30“)]但是我不确定VBA的正确语法是什么

我可以确定为循环执行多变量的唯一方法是

for m = 1 to 2
    for d = 1 to 2
          m = d.Value

但这不起作用

我希望它更像是

for m = 1 to 2 and d = 1 to 2

所以当m引用其数组中的第一项时,d也只引用其数组中的第一项。 vba会做那种事吗?我还有几个其他变量ID,如与m和d一起添加

1 个答案:

答案 0 :(得分:0)

您可以使用一个循环,直接在Range中对行号进行数学运算。在Range标注中,您可以使用& 后跟一个数字来构造一个引用您的单元格的字符串:

For i = 0 to 8
    Range("M" & i + 32).Value = Range("D" & i + 26).Value
Next i

在此示例中,从0开始,您将单元格M32的值设置为D26中的值。然后我增加1,所以M33设置为D27 ......依此类推,直到你达到i = 8,或者M40中的值= D34中的值