本記事はエクセル2019で動作確認を行っています。

このような疑問にお答えします。
Do…LoopステートメントやFor_Nextステートメントを使用しても繰り返し処理を行うことはできますが、シートやブックに対して同じ処理を繰り返す場合は、For Each…Nextステートメントを使用すると便利です。
本記事は、
すべてのブックに同じ処理を繰り返す。
すべてのシートに同じ処理を繰り返す。
指定したセルに同じ処理を繰り返す。
の3つの方法を解説します。
すべてのブックに同じ処理を繰り返す。
Dim 変数 As workbook
For Each 変数 In Workbooks
処理内容
Next
(例)
開いているブックをすべて閉じたいときを例にします。
Sub ブックを閉じる() Dim wb As Workbook '① For Each wb In Workbooks '② Application.DisplayAlerts = False '③ wb.Close '④ Application.DisplayAlerts = True '⑤ Next End Sub
解説
①Workbookのオブジェクトに変数を宣言する。
②変数にWorkbooksコレクションを代入する。
③警告のメッセージ表示をオフにする。
④すべてのWorkbookを閉じる。
⑤警告のメッセージ表示をオンに戻す。
すべてのシートに同じ処理を繰り返す。
(式)
Dim 変数 As worksheet
For Each 変数 In Worksheets
処理内容
Next
(例)
すべてのシートのA1セルの値を削除することを例にします。
Sub 値の削除() Dim ws As Worksheet '① For Each ws In Worksheets '② ws.Range("A1").ClearContents '③ Next '④ End Sub
解説
①Worksheetオブジェクトに変数を宣言する。
②変数にWorksheetsコレクションを代入する。
③A1セルの値を削除する。
④すべてのシートに対して繰り返し処理を行う。
指定したセルに同じ処理を繰り返す。
(式)
Dim 変数 As Range
For Each 変数 In セル範囲
処理内容
Next
本記事ではセル範囲についての例題は割愛しますが、上記のブックやシートと同じ手順をふんでいただくと処理を行うことができます。
今回はすべてのブックやブック内のすべてのシートに同じ処理を繰り返す方法をご紹介しました。
もし、繰り返しの途中で処理を抜け出したいときには「Exit Forステートメント」を使用します。
抜け出したい場所にExit Forを記述してもらえれば、処理途中でも抜け出すことができます。
今回も最後まで目を通していただきありがとうございます。