この記事では、ブック内の全てのシート名を取得する方法についてご説明します。
【動画】ブック内の全てのシート名を取得する実際の動き
本題に入る前に、まずは次の動画をご覧ください。
Worksheetsオブジェクトを使い、シートの数だけループを回してシートの名前を取得しています。
コードの例
Excelのマクロのコード(例)
Option Explicit Private Sub test() Dim ws As Worksheet 'Worksheet用変数 Dim cnt As Integer 'カウンタ用変数 'カウンタを初期化する cnt = 2 'シートの数だけループする For Each ws In Worksheets 'シート名をA列のセルに出力する Sheets("top").Range("A" & cnt).Value = ws.Name cnt = cnt + 1 Next ws End Sub
コードの解説
注目すべきコード①
最初に見て頂きたいのは12行目です。
'シートの数だけループする For Each ws In Worksheets
ブック内のシート全てに対して何かしらの処理を行うようループを処理を行います。
今回はシート名を取得するためにブック内のシート分だけループします。
注目すべきコード②
最初に見て頂きたいのは15行目です。
'シート名をA列のセルに出力する Sheets("top").Range("A" & cnt).Value = ws.Name
Worksheet用変数「ws」のnameプロパティにシートの名前が格納されているので、そのシート名がA列のセルに出力されます。
動作確認
動作確認①
マクロを実行する前のExcelの状態は次の通りです。(シート数:1)
ブックには「top」という名前のシートが1つ存在しています。
マクロを実行すると、A2のセルにシート「top」の名前が出力されます。
動作確認②
マクロを実行する前のExcelの状態は次の通りです。(シート数:3)
ブックには「top」「data1」「data2」という名前のシートが存在しています。
マクロを実行すると、A2のセルにシート「top」「data1」「data2」の名前が出力されます。
最後に
本記事では、ブック内の全てのシート名を取得する方法についてご説明しました。
Worksheetsオブジェクトを使うことで簡単にブック内の全てのシート名を取得することができます。
ブック内の全てのシート名を取得したい時は是非参考にしてみてくださいね。
プログラミングのスキルを習得するなら
プログラミングのスキルを習得したい、今のスキルをもっと高めたい、そう考えているなら「プログラミングスクール」がおすすめです。
プログラミングのスキルの基礎を身につけるなら「TechAcademy」で1週間の無料体験があるので、これで「プログラミングの基礎」を学ぶのにおすすめですよ。