全シート一覧をハイパーリンク付きで作成する

Excelのブックでシートの数が増えてきたときなどに、シートの一覧を取得したいことがあります。一覧の各シート名にはハイパーリンクが設定されてあると便利です。

以下のマクロはそういうときに利用するマクロです。


ソースコード



ソースコードの説明

ブックの一番左に新規シートを追加し、そのシートのA1セルから順に下に向かってシート名を出力します。出力の際にそのシートへのハイパーリンクを設定します。

イミディエイトウインドウにも同様に出力します。

非表示シートの場合はシート名を出力する際に背景色を付けるようにしています。この処理は無くても構いません。

全シートのループ処理中に非表示シートがあった場合は、ループ終了後に非表示シートがあることをメッセージボックス表示します。この処理もなくても構いません。


使い方

上記ソースコードのマクロの使い方ですが、シートの一覧を出力したいブックを表示してGetSheetList関数を実行するだけです。

例として以下のようなシートがあるとします。

そして上のGetSheetList関数を実行します。

以下のように処理日時のシートが追加されてハイパーリンク状態のシート一覧が出力されます。