どうもマサヤです!
今日は、たった1行のコードで全シート名の一覧を表示させる方法を紹介します!
「INDIRECTで参照したいけど、シート名も簡単に入力したい!」
「全シートを一覧にして、シートへのリンクを作りたい」
こういったシーンで、全シート名の一覧が必要になってきますよね。
シートが数枚程度なら手作業でも問題ありませんが、10枚を超えてくると手間がかかります。
そんな時、今回紹介するコードを実行すれば、全てのシート名の一覧を表示できます。
また、あなたが使いやすいようにパターンを2つ用意しました。
↓の目次を見て、あなたが求めているものと近しいものを探して見てくださいね。
たった1行で全シートを表示させる方法
では、VBAを使って全シートの一覧を表示させましょう。
「VBA?・・・わかんない!」
大丈夫です、VBAが解らなくても簡単にできる方法ですよ。
全シートを表示させるコード
下記のコードを使いますので、コピーしてくださいね。
For Each i In ThisWorkbook.Sheets: Debug.Print i.Name: Next
具体的な手順!サクッとシート一覧を表示させる
では、以下の手順をそのまま実施してみてください。
イミディエイトという画面に全てのシート名が表示されたと思います。
あとは、表示されたシート名を選択してコピー ⇒ 好きなシートへペースト(貼付)してお使いください。
実際の動きを動画で見てみよう
シート名を転記して、各シートへのリンクを作成する
おまけです!
下記のコードを実行すると、任意シートにシート名と、そのシートへのリンクを作成してくれます。
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“
具体的な手順
下記の手順で実行してくみてくださいね。
④を実行したら、コード入力画面は右上の×で閉じてください。
全シートへのリンク作成を動画で確認!
まとめ
月毎でシートを作っている場合、シートへのリンクや、各シートのセル数値を任意のシートで集計させたい。
こんな場合に使える方法を紹介しました!
シートが5枚以上あるなら、このコードを実行したほうが速いですよ!
ぜひ使ってみてくださいね!
コメント