Excelシートのリンク設定完全解説!飛ばない原因から目次自動化まで網羅
Excelシートのリンク設定完全解説!飛ばない原因から目次自動化まで網羅を徹底追究! 知っておきたい 情報と解説を分かりやすく展開します。
シート数が20〜50を超えて肥大化したExcelファイルでは、手動で目次を作成すること自体が大きな負担となります。こうしたドキュメント迷宮化の課題を一掃するのが、VBAマクロによるシート一覧リンクの自動生成です。
以下のマクロコードは、アクティブなブック内の全シートを瞬時に走査し、先頭に「目次」シートを作成した上で、全シートへのハイパーリンク付きインデックスを自動展開します。
Sub CreateSheetIndex() Dim ws As Worksheet Dim indexWs As Worksheet Dim i As Long On Error Resume Next Application.DisplayAlerts = False Sheets("目次").Delete Application.DisplayAlerts = True On Error GoTo 0 Set indexWs = Sheets.Add(Before:=Sheets(1)) indexWs.Name ="目次" indexWs.Cells(1, 1).Value ="シート名一覧(クリックでジャンプ)" indexWs.Cells(1, 1).Font.Bold = True i = 2 For Each ws In ThisWorkbook.Worksheets If ws.Name <> "目次" Then indexWs.Hyperlinks.Add _ Anchor:=indexWs.Cells(i, 1), _ Address:="", _ SubAddress:="'" & ws.Name & "'!A1", _ TextToDisplay:=ws.Name i = i + 1 End If Next ws indexWs.Columns(1).AutoFit MsgBox "目次シートの作成が完了しました!", vbInformation, "完了" End Sub
このスクリプトを実行するだけで、どれほど大量のシートが存在していてもわずか0.5秒未満で完璧な目次インデックスが完成します。定例業務でシートが毎週追加されるような運用であっても、ボタンを1回押すだけで常に最新のリンク構造を維持できます。