Excelのシート名を一括で取得するVBAのサンプルコード

VBA
記事内に広告が含まれています。

Excelのシート名を一括で取得するVBAのサンプルコードを紹介します。

2つの方法を紹介してみます。

通常マクロ版

仕様

画面仕様

マクロを実行したときにシート名をセルに吐き出します。

ソースコード

実行中のワークブックのシート数分ループして、一番左のシートのセルの1列目にシート名を出力していっているだけです。

Sub viewSheet()
    For Each i In ThisWorkbook.Sheets
        ThisWorkbook.Sheets(1).Cells(i.Index, 1) = i.Name
    Next i
End Sub

テスト実行

下記の通り、VBEを開き、上のソースコードを張り付けます。

F5キーを押下すると下記の画面が出てくるので、Subプロシージャを選択して「実行」ボタンを押下します。

下記の通り、シート名が出力されました。

イミディエイトウィンドウ版

イミディエイトウィンドウを使用すると、シートを汚さずにシート名を出力できます。

ソースコード

ソースコードの内容は先ほどのソースコードとほぼ同じなのですが、イミディエイトウィンドウの場合は1行で実行しなければならないので、コロンで区切って1行に処理をまとめている点が異なります。

また、シート名をイミディエイトウィンドウ内に出力したいので、debug.Printを使用するように細かい変更をしています。

For Each i In ThisWorkbook.Sheets : debug.Print i.Name : Next i

テスト実行

それでは実行していきます。まずはイミディエイトウィンドウを開きます。

イミディエイトウィンドウがVBE画面にない場合は、Ctrl+Gとキーを押下することで表示できます。

それから上記のソースコードを入力してエンターキーを押下します。

実行前

エンターキーを押下するとイミディエイトウィンドウ内にシート名が列挙されていきます。

実行後

参考情報

環境

下記の環境で作成・実行しております。

No.環境バージョン
1OSWindows10
2ExcelExcel2016
環境一覧

以上です。