Excel VBA

【Excel VBA】【マクロ】【Tips】シート名の一覧を取得するマクロ

こんにちは!Lenocoです。本日も見てくださりありがとうございます。

今回はシート名の取得方法を学びましょう!

シート名の一覧を取得するマクロ

シートがたくさんあるエクセルファイル、シートの一覧がパッと見られたら便利だなぁと思うことはないでしょうか。
VBAを使えばあっという間にそんなマクロが作れます。
B2セルから下方向へシート名の一覧を出力するマクロを作成しました。
内容もとってもシンプルなのでぜひ見てみてください!

コード

Sub DisplaySheetList()

    Const START_ROW As Long = 2
    Dim sh As Worksheet
    Dim row As Long
    
    row = START_ROW
    
    For Each sh In ThisWorkbook.Sheets
        ActiveSheet.Cells(row, "B") = sh.name
        row = row + 1
    Next sh
    
End Sub

コードの説明

今回は2行目からスタートしたかったので、定数を宣言してみました。
そして、各シートを格納するためのワークシート型の変数、出力行を保存しておくrowを作成します。
最初は、2行目としたいので、定数をrowに入れておきます。
全シートをループします。
アクティブシートのB列のrow行目にシート名を入れ、rowをプラス1して、次の行にしておきます。
それを最後のシートまで繰り返します。
ややこしいですが、shには最初のシートから最後のシートすべてが入りますが、
ActiveSheetは、現在アクティブになっている1シートです。
shはインプット、ActiveSheetはアウトプットということになります。

さいごに

もし、シート名を一つ一つコピーしてシートに貼り付けて…とやっている方がいたら、
ぜひこのマクロを試してみてくださいね!!

Lenoco

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です