For Each…Next ステートメントの解説
概要
For Each…Next ステートメントは、VBAにおけるコレクションや配列内の各要素に対して、一連のステートメントを繰り返し実行するための構文です。
意義
コレクションや配列の要素に対して同じ操作を行いたい場合、For Each…Next ステートメントを使用することで、手間なく効率的に処理を実行することができます。
構文
For Each 要素 In グループ [ステートメント] [Exit For] [ステートメント] Next [要素]
パーツ
- For Each: 各要素を順に処理する開始を示すキーワード。
- 要素: コレクションや配列から取得する個々の要素を代入する変数。
- In: キーワード。
- グループ: 処理の対象となるコレクションや配列。
- Exit For: (オプション)ループを途中で終了させるキーワード。
- Next: ループの終了を示すキーワード。
サンプルプロシージャ
Sub SampleForEach() Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets MsgBox ws.Name & "のワークシートを処理中です。" Next ws End Sub
この例では、アクティブなワークブックの全てのワークシートに対して、その名前をメッセージボックスで表示します。
関連するステートメントや関数
- For…Next ステートメント: 指定した回数だけステートメントを繰り返すためのステートメント。
- Do…Loop ステートメント: 条件に応じてステートメントを繰り返すためのステートメント。
注意事項
- For Each…Next ステートメントは、コレクションや配列の要素に対してのみ使用できます。
- Exit For ステートメントを使用してループを途中で終了することができます。
- 無限ループを作成しないように注意してください。