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

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

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

PR

前提

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

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をコピーしました