Excelマクロ・VBA ブック内の全てのシート名を取得する方法

2020年6月16日

ブック内のシート名を列挙したい時がありますが、

シートが多いと非常に大きな手間になります。

この記事では少ない手順でシート名を取得する方法を紹介します。

サンプルファイル

※セキュリティの警告が出る場合は有効化してください。(解除方法↓)

使用方法

シート名を列挙したいブックを開いた状態で

excel-vba-all-sheet-name.xlsmを開いてマクロを有効化します。

シート名を列挙したいブックの中で任意のセルを選択した状態で

[Alt]+[F8]キーを同時押しします。

マクロの選択画面が表示されるので「'excel-vba-all-sheet-name.xlsm'!シート名一覧表示」を

選び「実行」ボタンを押下すると、そのブックのシートの一覧が列挙されます。

マクロの選択画面のキャプチャ
シート名が列挙された状態の図解

コードサンプル

利用するだけなら先述の手順だけでよいですが

マクロの中身は下記のとおりです。

Option Explicit
Sub シート名一覧表示()

    Dim s As Worksheet
    Dim i As Integer
    
    i = 1
    For Each s In ActiveWorkbook.Sheets
         ActiveCell.Cells(i, 1) = s.Name
         i = i + 1
    Next s

End Sub

関連記事

マクロ・VBAの学習・活用方法の記事一覧

ファイル名(ブック名)とシート名を表示する方法

関数のみで実現する方法。

(ただしセルの所属シートのみ)

別シートへのリンクを貼る方法

有効な活用場面