【VBA】シートの数だけ繰り返し処理を行う

シートの数だけ繰り返し処理を行う方法は
複数あります!

ここでは私が
 ・1番シンプルと考える方法
を記載します!

PR

前提

以下の3シートを持つExcelファイルがあるとします。
・概要
・設計
・備考

3シートある
3シートある
PR

VBAコード

ここでは例として、
 ・シートの数だけ繰り返し処理を行い、
 ・シート名をイミディエイトウィンドウへ出力
します。

Option Explicit

Sub sample()
    
    Dim sh As Worksheet
   
    'シートの数だけ繰り返し 
    For Each sh In ThisWorkbook.Worksheets
       'イミディエイトウィンドウへ出力
       Debug.Print sh.Name
    Next
    
End Sub

「Worksheetsオブジェクト」が持っている「Worksheetオブジェクト」の数だけ、繰り返し処理をします。
※「Worksheetsオブジェクト」は「Worksheetオブジェクトコレクションと言ったりします。

ここでは繰り返し処理として「For Each」を使用します。
※「For文」より「For Each」の方がシンプルと考えます。

PR

実行結果

シートの数だけ繰り返し処理ができました。

実行結果
実行結果
PR

参考①

上記のVBAコードで使用した以下の詳細については、公式サイトをご確認ください。

●Worksheetsオブジェクト
「Worksheetオブジェクト」のコレクションです。


●Worksheetオブジェクト
Excelファイルのシートです。

PR

参考②

コレクション」とは「複数のデータを一つに纏めたもの」です。
「Worksheetsオブジェクト」は複数の「Worksheetオブジェクト」を纏めたものです。

タイトルとURLをコピーしました