Excel VBA编程For Each...Next
For Each…Next语句会重复一个语句块,而它是作用于集合中的每个对象或是数组中的每个元素。
当循环执行一次则Visual Basic会自动设置一个变量。
语法:
For Each element In group
[statements]
[Exit For]
[statements]
Next [element]
在该语句中,主要包含3个参数,其功能如下:
●element 必要参数。
用来遍历集合或数组中所有元素的变量。
对于集合来说,element可能是一
个Variant变量、一个通用对象变量或任何特殊对象变量。
对于数组而言,element只能是一个
Variant变量。
●group 必要参数。
表示对象集合或数组的名称(用户定义类型的数组除外)。
●statements 可选参数,针对group中的每一项执行的一条或多条语句。
Dim s(2)
s(0) = "000000": s(1) = "1111111": s(2) = "222222222"
For Each f In s
MsgBox f
Next
在使用For Each...Next语句过程中,应注意以下几点内容:
●如果集合中至少有一个元素,就会进入For…Each块执行。
一旦进入循环,便先针对group中第
一个元素执行循环中的所有语句。
如果group中还有其它的元素,则会针对它们执行循环中的语
句,当group中的所有元素都执行完了,便会退出循环,然后从Next语句之后的语句继续执行。
●在循环中可以在任何位置放置任意个Exit For语句,随时退出循环。
●可以将一个For…Each…Next循环放在另一个之中来组成嵌套式For…Each…Next 循环。
但是每
个循环的element必须是唯一的。