【问题标题】:VBA for loop for multiple variables when variable is an array当变量是数组时,多个变量的VBA for循环
【发布时间】:2017-07-11 18:46:22
【问题描述】:

我有一个功能

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

我想使用 m = [Range("M32") Range("M40)] 和 d = [Range("D26") Range("D30")] 在 for 循环中循环,但我不确定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 一起添加

【问题讨论】:

  • 如果两个数组大小相同,则只能使用一个循环和一个计数器。你也可以试试Range("M32:M40").value = Range("D26:D34").value

标签: arrays vba excel variables for-loop


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-17
    • 2014-06-12
    • 1970-01-01
    • 1970-01-01
    • 2019-02-11
    • 1970-01-01
    相关资源
    最近更新 更多