【问题标题】:VBA: Why do people include the variable's name in a "Next" statement?VBA:为什么人们在“Next”语句中包含变量的名称?
【发布时间】:2023-03-25 11:56:01
【问题描述】:

我总是这样写我的 For 循环:

For foo = 1 to 10
    ' do something
Next

但是,当我在网上阅读代码 sn-ps 时,人们总是这样做:

For foo = 1 to 10
    ' do something
Next foo

我没有注意到两者之间的任何区别,并且我找不到任何关于 next 声明的文档更可取。这两者有什么区别(如果有的话)?

【问题讨论】:

  • 传统上,在所有 BASIC 派生语言中,For..Next 语句都需要它。后来这种情况发生了变化,但许多人(包括我)仍然出于习惯这样做。其他人可能会这样做,因为他们看到我们年长的人这样做,要么复制它,要么假设它是必需的。
  • +1 @RBarryYoung 同样,如果您碰巧有许多嵌套循环,则很容易区分您在哪个循环中工作。

标签: vba for-loop syntax semantics


【解决方案1】:

Next 语句后面的计数器是可选的。它曾经在 BASIC 派生语言中是必需的,但在 VBA 中不再需要。

您可以查看VBA reference

如果您在 Next 语句中省略 counter,则继续执行,就好像包含了 counter。如果在对应的 For 语句之前遇到 Next 语句,则会发生错误。

人们仍然添加计数器以增加可读性的原因。

【讨论】:

    【解决方案2】:

    当您有多个 for 循环时。

    例如,

        For i to j
            For k to l
    
             next k
         next i
    

    否则,next 是不明确的。这不是绝对必要的,因为没有它循环仍然可以工作,但是为了其他人阅读您的代码而标记它只是一个好习惯。

    【讨论】:

      猜你喜欢
      • 2021-07-28
      • 2021-12-21
      • 1970-01-01
      • 2012-09-14
      • 2021-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多