配列またはコレクション内の各要素に対して文のグループを繰り返します。
構文
For Each element In group [statements] [Exit For] [statements] Next
引数:
element: コレクションまたは配列の要素の反復に使用される変数。コレクションの場合、要素はバリアント変数、汎用オブジェクト変数または特定のAutomationオブジェクト変数のみとなります。配列の場合、要素はバリアント変数のみとなります。
group: オブジェクト・コレクションまたは配列の名前。
statements: グループ内の各アイテムに対して実行される1つ以上の文。
備考
グループ内に少なくとも1つの要素がある場合は、For Eachブロックに入ります。ループに入ると、ループ内のすべての文がグループの最初の要素に対して実行されます。グループ内にさらに要素がある場合、ループ内の文は各要素に対して引き続き実行されます。グループ内のさらなる要素がなくなると、ループは終了し、Next文に続く文の実行が続行されます。
Exit Forは、For Each...NextまたはFor...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