For Each…Nextステートメント 解説(Excel VBA)

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 ステートメントを使用してループを途中で終了することができます。
  • 無限ループを作成しないように注意してください。