VBA・Excel たった1行で全シート名の一覧を作成!おまけ付き。

この記事は約4分で読めます。

 

どうもマサヤです!

 

今日は、たった1行のコードで全シート名の一覧を表示させる方法を紹介します!

 

「INDIRECTで参照したいけど、シート名も簡単に入力したい!」

「全シートを一覧にして、シートへのリンクを作りたい」

 

こういったシーンで、全シート名の一覧が必要になってきますよね。

シートが数枚程度なら手作業でも問題ありませんが、10枚を超えてくると手間がかかります。

 

そんな時、今回紹介するコードを実行すれば、全てのシート名の一覧を表示できます。

また、あなたが使いやすいようにパターンを2つ用意しました。

↓の目次を見て、あなたが求めているものと近しいものを探して見てくださいね。

 

 

スポンサーリンク

たった1行で全シートを表示させる方法

 

では、VBAを使って全シートの一覧を表示させましょう。

 

「VBA?・・・わかんない!」

 

大丈夫です、VBAが解らなくても簡単にできる方法ですよ。

 

全シートを表示させるコード

 

下記のコードを使いますので、コピーしてくださいね。

 

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

 

 

具体的な手順!サクッとシート一覧を表示させる

 

では、以下の手順をそのまま実施してみてください。

 

① For Each i In ThisWorkbook.Sheets: Debug.Print i.Name: Next ←をコピー。
② 「Alt」+「F11」を押す。
③ 「Ctrl」+「G」を押す。
④ 「Ctrl」+「V」を押す。
⑤ シート名が表示される。

 

イミディエイトという画面に全てのシート名が表示されたと思います。

あとは、表示されたシート名を選択してコピー ⇒ 好きなシートへペースト(貼付)してお使いください。

 

実際の動きを動画で見てみよう

 

 

 

スポンサーリンク

シート名を転記して、各シートへのリンクを作成する

 

おまけです!

下記のコードを実行すると、任意シートにシート名と、そのシートへのリンクを作成してくれます。

 

Sub SheetsLinkCreate()

create_sheet = "Sheet1" '←シートのリンク一覧を作成したいシート名を指定

For Each i In ThisWorkbook.Sheets
    Worksheets(create_sheet).Cells(2 + i.Index, 2) = i.Name
    Worksheets(create_sheet).Hyperlinks.Add _
    Anchor:=Worksheets(create_sheet).Cells(2 + i.Index, 2), _
    Address:="", SubAddress:="'" & i.Name & "'!A1"
Next

End Sub

 

まずはリンク一覧を作成したいシートを決め、上記コードの3行目の”Sheet1″の箇所を変更しましょう。

例えば、Sheet3にリンク一覧を作成したい場合、以下のように変更します。

create_sheet = “Sheet1

create_sheet = “Sheet3

 

 

具体的な手順

 

下記の手順で実行してくみてくださいね。

 

① 上記コードを丸ごとコピー。 ※シート名を変更した上でコピーしてくださいね。
② 「Alt」+「F11」を押す。
③ 「Ctrl」+「V」を押す。
④ メニューバーにある▶を押す。 ※もしくは「F5」
⑤ 指定したシートに全シートへのリンク一覧が作成される。

 

④を実行したら、コード入力画面は右上の×で閉じてください。

 

 

全シートへのリンク作成を動画で確認!

 

 

 

まとめ

 

月毎でシートを作っている場合、シートへのリンクや、各シートのセル数値を任意のシートで集計させたい。

こんな場合に使える方法を紹介しました!

 

シートが5枚以上あるなら、このコードを実行したほうが速いですよ!

 

ぜひ使ってみてくださいね!

コメント