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 に指定したコレクション全てに対して処理を行いますので、処理の順序に保証はありません。
※処理順序を重視する場合は使用を避けてください。



コメント