For Each … Next 语句

针对数组或集合中的每个元素重复执行一组语句。

语法

For Each element In group
  [statements]
  [Exit For]
  [statements]
Next 

参数:

  • element:用于迭代通过集合或数组元素的变量。对于集合,element 只能是变体变量、通用对象变量或任何特定的自动化对象变量。对于数组,element 只能是变体变量。

  • group:对象集合或数组的名称。

  • statements:对组中的每个项执行的一个或多个语句。

注释

如果组中至少有一个元素,则会进入 For Each 块。进入循环后,将针对组中的第一个元素执行循环中的所有语句。如果组中有更多元素,将继续针对每个元素执行循环中的语句。当组中没有其他元素时,将退出循环,并继续执行 Next 语句后面的语句。

Exit For 只能在 For Each...NextFor...Next 控制结构中使用,以提供替代退出方式。可以将任意数量的 Exit For 语句放置在循环中的任何位置。Exit For 通常与某些条件的求值(例如 If...Then)一起使用,并会将控制权转移到紧跟在 Next 之后的语句。

可以通过将一个 For Each...Next 循环放在另一个循环中来嵌套 For Each...Next 循环。但是,每个循环元素必须是唯一的。

Note:

如果在 Next 语句中省略了元素,则执行会继续,就好像您已经包含了元素一样。如果在对应的 For 语句之前遇到 Next 语句,则会出现错误。

以下示例说明了 For Each...Next 语句的用法:

示例 1:

Dim fruits(2)
fruits(0) = "Apple"
fruits(1) = "Banana"
fruits(2) = "Cherry"
For Each fruit In fruits
    ' Variable fruit denotes each element in fruits array
Next