こちらの記事はエクセルVBAをあまり知らない方でも利用できる「コピペでVBA(Excel)」としてもご活用できます。詳しくはこちらをご確認ください。

このマクロの解説

このコードを実行すると、アクティブなシートに他のシートへのハイパーリンクを一覧として一括挿入できます。ハイパーリンクのテキストはシート名が使われます。A1から下方向へ一覧挿入する形になります。A1以外の場所から挿入したい場合は7行目の”Cells(i, 1)“を編集してください。iの部分が行、1の部分が列です。B1から挿入したい場合は”Cells(i, 2)“、A3から挿入したい場合は”Cells(i+2, 1)“、C5から挿入したい場合は”Cells(i+4, 3)“という具合に編集してご利用ください。

このマクロのコード

Private Sub HYPERLINK2()
    Dim ACTIVE_WS As Worksheet: Set ACTIVE_WS = ActiveSheet
    Dim w As Worksheet, i As Long
    For Each w In Worksheets
        i = i + 1
        If w.Index <> ACTIVE_WS.Index Then
            w.Hyperlinks.Add Anchor:=ACTIVE_WS.Cells(i, 1), Address:="", SubAddress:="'" & w.Name & "'!A1", TextToDisplay:=w.Name
        End If
    Next w
End Sub

このマクロを使う理由

多数のシートがあるエクセルファイルですと、目次となるシートを用意することがあります。その時に目次から各シートに簡単に遷移できると便利です。とはいえ、各シートのハイパーリンクを 一つずつ設定することはかなり手間がかかります。このマクロならそのハイパーリンクの一覧を簡単に作成できます。

プラスワン

以下のマクロもシートのハイパーリンクに関するマクロです。合わせてご利用ください。