※当サイトの一部記事には広告を含みます。
うさねこ気まぐれPG開発室

Excel VBAで全シートへのリンク付き目次を作る方法|全シート一覧を一括作成コード

全シートのリンク一覧を自動作成(1枚目に目次シートを自動生成)

うさこちゃん
うさこちゃん

Excelブックにシートが増えると、目的のシートを探すのが大変になります。
そんなときに便利なのが「全シートをリンク付きで一覧化するVBAマクロ」です。

この記事では、1枚目のシートに全シート名・ジャンプリンク・備考欄を自動で貼り付けるVBAコードを紹介します。
管理表・台帳・見積書など、多数のシートを扱うExcelファイルで特に効果的です。

機能概要

このVBAマクロでは、次の処理を自動で行います:

機能内容
シート一覧作成ブック内のすべてのシート名を取得し、1枚目に一覧化
リンク生成各シートのA1セルへのジャンプリンクを自動で設定
備考欄追加各行に自由記入できる「備考」列を設置
自動整形見出しや背景色を設定して一覧を見やすく整形

実行前

出力結果は以下のようになります👇


コード全文

以下のコードをExcelに貼り付けて実行するだけで、自動で目次シートを作成できます。

Sub FNC_全シートリンク一覧作成()
    Dim ObjWB As Workbook
    Dim ObjSh As Worksheet
    Dim ObjFirstSh As Worksheet
    Dim LngRow As Long
    Dim StrLink As String
    
    On Error GoTo ERROR_HANDLER
    Application.ScreenUpdating = False
    
    Set ObjWB = ThisWorkbook
    Set ObjFirstSh = ObjWB.Sheets(1)
    
    ' 先頭シート初期化
    With ObjFirstSh
        .Cells.Clear
        .Range("B1").Value = "シート一覧"
        .Range("B1:D1").Merge
        .Range("B1:D1").Font.Bold = True
        .Range("B1:D1").Font.Size = 14
        .Range("B1:D1").Interior.Color = RGB(230, 230, 250)
        
        ' 見出し行
        .Range("B2").Value = "シート名"
        .Range("C2").Value = "リンク"
        .Range("D2").Value = "備考"
        .Range("B2:D2").Font.Bold = True
        .Range("B2:D2").Interior.Color = RGB(240, 240, 240)
    End With
    
    LngRow = 3
    
    ' 全シートを走査
    For Each ObjSh In ObjWB.Sheets
        If ObjSh.Index <> 1 Then
            StrLink = "'" & ObjSh.Name & "'!A1"
            
            ' シート名
            ObjFirstSh.Cells(LngRow, 2).Value = ObjSh.Name
            
            ' リンク
            ObjFirstSh.Hyperlinks.Add _
                Anchor:=ObjFirstSh.Cells(LngRow, 3), _
                Address:="", _
                SubAddress:=StrLink, _
                TextToDisplay:="→ シートを開く"
            
            ' 備考は空欄(手入力可)
            ObjFirstSh.Cells(LngRow, 4).Value = ""
            
            LngRow = LngRow + 1
        End If
    Next ObjSh
    
    ' 見た目を整える
    With ObjFirstSh
        .Columns("B:D").AutoFit
        .Activate
        .Range("B1").Select
    End With
    
    MsgBox "全シート一覧(B:C:D列)を作成しました!", vbInformation

EXIT_HANDLER:
    Application.ScreenUpdating = True
    Exit Sub
    
ERROR_HANDLER:
    MsgBox "エラー発生:" & Err.Description, vbCritical
    Resume EXIT_HANDLER
End Sub


実行

うさこちゃん
うさこちゃん

💡 どちらの実行方法でもOK!

  • 一度だけ試すなら「⚙️ 実行手順1(そのまま実行する場合)」
  • 何度も使うブックなら「⚙️ 実行手順(ボタンから実行する場合)」

作業スタイルに合わせて好きな方法を選んでください✨

実行手順1(そのまま実行する場合)

1. Excelを開く
2. Alt + F11VBAエディタを起動
3. メニューから「挿入 → 標準モジュール」を選択
4. コードを貼り付けて保存(貼り付けコードは記事本文のマクロを使用)
5. Alt + F8FNC_全シートリンク一覧作成 を選択して実行

実行手順(ボタンから実行する場合)

以下のように、1枚目の「メニュー」シートに
「シートリンク作成」ボタンを配置しておくと、
クリック一つでマクロを実行できます。

手順1:マクロを登録

1.Excelを開く
2. Alt + F11VBAエディタを開く
3. メニューから「挿入 → 標準モジュール」を選択
4. コードを貼り付けて保存(貼り付けコードは記事本文のマクロを使用)


手順2:ボタンを配置

1. Excelの「開発タブ」から
  →「挿入」→「フォームコントロールのボタン」を選択
2.「メニュー」シート上の任意の場所にドラッグして配置
3. 表示された「マクロの登録」画面で
  → FNC_全シートリンク一覧作成を選択
4. ボタンの名前を「シートリンク作成」に変更(好みの名前でOK)


応用活用例

このマクロは、さまざまな業務シーンで応用できます。

利用例説明
管理台帳月次や店舗別シートのリンクをまとめてジャンプできる
帳票集計各帳票シートへの目次として利用
見積書ブック顧客ごとのシートを一覧で管理
レポート管理各部署・日付シートへのアクセスを高速化

さらに便利な拡張例

下記のような機能を追加することで、より便利になります👇

拡張内容機能概要
E列:最終更新日時シートの最終更新日を自動取得
F列:行数シートの最終行番号を取得

まとめ

  • VBA初心者でもコピペで使える
  • Excelの全シートを自動で一覧化できる
  • シート名・リンク・備考欄を自動生成
  • 管理ファイルの目次として業務効率が大幅アップ

免責事項

本記事のサンプルプログラムは、学習・参考用として掲載しているもので、動作や結果を保証するものではありません。 利用する場合は、ご自身の環境に合わせて確認しながらお使いください。万が一トラブルや損害が発生した場合でも、当サイトでは責任を負いかねます。


広告
Amazon Fire TV Stick 4K Max(マックス) | Fire TV Stick史上最もパワフル | ストリーミングメディアプレイヤー
Amazon Fire TV Stick 4K Max(マックス) | Fire TV Stick史上最もパワフル | ストリーミングメディアプレイヤー
【世界で最も人気のストリーミングメディアプレーヤーシリーズ】 ※Fire TVシリーズの2024年7月~2025年6月の世界販売/出荷台数に関する外部機関による調査結果、および内部データによる。
【Fire TV Stick史上、最もパワフルなストリーミングメディアプレーヤー】パワフルな2.0 GHzクアッドコアプロセッサによるアプリの高速起動。次世代Wi-Fi 6Eによるスムーズなストリーミング。ひとつ上を行く4K Ultra HDを実現。
【迫力の映像】Dolby Vision、HDR10+に対応し4Kコンテンツを鮮やかに再生します。臨場感あるDolby Atmosのサウンドにも対応。
【Wi-Fi 6E対応】複数のデバイスが同じルーターに接続しても、高精細な4Kビデオコンテンツを滑らかに再生できます。
【リビングが美術館のように】アンビエントディスプレイでは、お使いのテレビで2,000枚(※)を超える名画や写真をお楽しみ頂けます。また、天気、付せん、カレンダーなどのAlexaウィジェットも表示できます。※2023年9月1月時点
【スマートホーム】ボタンを押してAlexaに話しかけるだけで、スマートカメラやライトなどAlexa対応のスマートホーム製品(別売)をコントロール。
【Fire TV Stick史上、最大のストレージ】前世代から2倍に増えた16GBストレージにさらに多くのアプリなどをダウンロード。
【お気に入りのコンテンツが勢ぞろい】60万以上(※)の豊富な映画作品やTV番組のエピソードを心ゆくまで楽しもう。YouTube、TVerはもちろん、Prime Video、Netflix、ディズニープラス、U-NEXTなどのお気に入りのコンテンツ、HuluやDAZNなどの24時間ライブチャンネルやスポーツも配信やサブスクリプションで見られます。※2025年9月12日時点
【Alexa対応音声認識リモコンEnhanced(エンハンスド)】お気に入りのコンテンツに簡単にアクセスできるアプリボタン、対応するテレビ・サウンドバーの電源、ボリュームコントロールを搭載。さらに、最近のアイテムやPrime Videoライブチャンネルボタンを追加。

※本文中に記載の会社名・製品名・サービス名・ゲームタイトル名等は、各社の商標または登録商標であり、権利は各社に帰属します。

※サンプルはテストを行っていますが、すべての環境での動作を保証するものではありません。ご利用は自己責任でお願いいたします。

※本記事の仕様・価格・対応状況等は執筆時点で確認できた情報をもとに掲載しています。最新の情報はメーカー公式サイトをご確認ください。

※当サイトでは一部の記事において、アイキャッチ画像にAI生成を使用しています。