Excel VBAで他ブックへのハイパーリンクをセルに挿入する方法|相対パスの活用法も紹介

業務で複数のExcelファイルを運用していると、「このセルから別のブックを開けるようにしたい」と思う場面が出てきます。
本記事では、VBAを用いて、セルに他のExcelブックへのハイパーリンクを自動で挿入する方法をご紹介いたします。


目次

想定する用途と目的

  • 他のブックをクリック一つで開けるようにしたい。
  • リンク挿入作業を自動化して、作業時間を削減したい。
  • ファイル移動にも対応できるよう、相対パスで設定したい。

VBAコードの例

以下のコードでは、セルC3に対して、現在のブックと同じフォルダにある「集計結果.xlsx」へのリンクを挿入します。

Sub InsertLinkToAnotherWorkbook()

    Dim linkTargetPath As String
    Dim linkCell As Range

    ' 相対パスでリンク先ブックのパスを指定
    linkTargetPath = ThisWorkbook.Path & "\集計結果.xlsx"
    
    ' ハイパーリンクを挿入するセル
    Set linkCell = ActiveSheet.Range("C3")
    
    ' ハイパーリンクの挿入
    ActiveSheet.Hyperlinks.Add _
        Anchor:=linkCell, _
        Address:=linkTargetPath, _
        TextToDisplay:="集計ファイルを開く"

End Sub

コードのポイント解説

要素説明
ThisWorkbook.Path現在のブックが保存されているフォルダのパスを取得します。
& "\集計結果.xlsx"相対パスで同一フォルダ内のブックを指定しています。
Hyperlinks.Add指定セルにハイパーリンクを追加するVBAの標準構文です。

絶対パスで指定したい場合は?

たとえば、明示的にファイルのフルパスを指定する場合は、次のようにします。

Address:="C:\Users\ユーザー名\Documents\集計結果.xlsx"

相対パス指定のメリット

  • フォルダごと別の場所に移動してもリンク切れにならない。
  • 複数の人とファイルをやり取りする際に便利。
  • OneDriveや共有ドライブ上でも柔軟に対応可能。

まとめ

Excel VBAを使えば、セルに他のExcelファイルへのハイパーリンクを手軽に挿入できます。
特にThisWorkbook.Pathを使って相対パスで指定することで、リンクの保守性が高まり、チーム内での運用がしやすくなります。

大量のリンクを手動で挿入する手間や、リンク切れの心配から解放されるこの方法を、ぜひ日々の業務にお役立てください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次