For Each Nextステートメント
コレクションに対してループ処理を行いたいときはFor Each Nextステートメントが便利です。
全てのシートから特定のシート名を調べたり、印刷することができます。
構文
For Each element In group
[ statements ]
[ Exit For]
[ statements ]
Next [ element ]
element | コレクションの各要素を繰り返す変数を指定します。必須。 |
group | コレクション名または配列名を指定します。必須。 |
statements | group に指定した各要素を対象に実行するステートメントです。省略可。 |
For Each Nextステートメントを使ったサンプルコード
'■該当するシートを探しだし、該当すれば赤く色がつく Sub Sample_Sheetname() Dim ws As Worksheet 'ワークシートを対象にループ処理を行う For Each ws In ThisWorkbook.Worksheets 'シート名が「Sheet5」か判定する If ws.Name = "Sheet5" Then '「Sheet5」が見つかった赤ときの処理 ws.Tab.Color = RGB(255, 0, 0) MsgBox "該当箇所が赤く表示されます" Exit For 'ループ処理を抜ける End If Next End Sub
注意点
- group に指定したコレクション全てに対して処理を行いますので、処理の順序に保証はありません。
※処理順序を重視する場合は使用を避けてください。
コメント