繰り返し処理(For Each…Next ステートメント)
For Each…Next ステートメントの使い方
For Each element In group
[ statements ]
Next [ element ]
【項目の説明】
- element ・・・ コレクションや配列のすべてのメンバ・要素を受け取るための変数。コレクションの場合、引数 element には総称オブジェクト型変数、または任意の固有オブジェクト型のオブジェクトの変数を指定できます。配列の場合は、バリアント型変数のみとなります。
- group ・・・ コレクション名または配列名(ユーザー定義型を除く)。
- statements ・・・ 引数 group の各メンバ・要素に対して実行するステートメント(省略可)。
For Each…Next ステートメント から抜け出す方法に、Exit For ステートメント を指定することができます。また、For Each…Next ステートメント はネスト (入れ子) 構造にすることができ、その場合に Exit For が実行された場合は、その Exit For を囲んでいる 1 番内側のループから抜け出します。
For Each…Next ステートメント は、コレクションや配列のすべてのメンバ・要素に対して処理を行いますが、それらを取り出す順序にルールはありません。もしその順番が重要な意味をもつ場合には、For…Next ステートメント 等を利用する方がよいでしょう。
もし無限ループの状態に陥ってしまった場合は、[ECS] キーを押し続けるか、それで戻らない場合は、[Ctrl] + [Alt] + [Delete] を押して Windows のタスクマネージャーを表示して、Excel を強制終了してください。
For Each…Next ステートメントの使用例
VBAソース例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Sub sample_foreach_next() Dim Sht As Object Dim ShtNames As String For Each Sht In Worksheets ShtNames = ShtNames & Sht.Name & Chr(13) Next MsgBox ShtNames End Sub |
実行結果
関連記事
-
引数を可変にする( ParamArray )
ParamArray キーワード ParamArray キーワードを使用すると任 …
-
プロシージャ内のサブルーチンへ移動(GoSub…Return ステートメント)
GoSub…Return ステートメント GoSub ステートメント …
-
プロシージャ内のサブルーチンへ移動(GoTo ステートメント)
GoTo ステートメント GoTo ステートメントは、指定したラベルのサブルーチ …
-
変数やプロシージャのスコープ(適用範囲)
変数やプロシージャのスコープ(適用範囲) 【構文:変数の宣言】 { Dim | …
-
With ステートメントを使う
With ステートメントを使う With ステートメントを使うことで、1度指定し …
-
引数の参照渡し・値渡し( ByRef, ByVal )
引数の「参照渡し」と「値渡し」 「参照渡し」とはプロシージャに引数として変数を渡 …
-
プロシージャを作成する( Sub, Function )
プロシージャを作成する プロシージャとは、実行時に 1 つの単位として処理される …
-
プロシージャを呼び出す(Call ステートメント)
プロシージャを呼び出す プロシージャ内から、別のプロシージャを呼び出すには、Ca …
-
配列が引数のプロシージャを作成する
配列が引数のプロシージャを作成する 【構文】 { Sub | Function …
-
繰り返し処理(For…Next ステートメント)
For…Next ステートメントの使い方 【構文】 For coun …