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を使って相対パスで指定することで、リンクの保守性が高まり、チーム内での運用がしやすくなります。

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

技術書の購入コストを抑えてスキルアップするなら

ここまで読んでいただきありがとうございます。最後に宣伝をさせてください。

プログラミングの技術書や参考書は、1冊3,000円〜5,000円するものも多く、出費がかさみがちです。Kindle Unlimitedであれば、月額980円で500万冊以上の書籍が読み放題となります。

気になる言語の入門書から、アルゴリズム、基本設計の専門書まで、手元のスマホやPCですぐに参照可能です。現在は「30日間の無料体験」や、対象者限定の「3か月499円プラン」なども実施されています。まずはご自身のアカウントでどのようなオファーが表示されるか確認してみてください。

[Kindle Unlimited 読み放題プランをチェックする]

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

この記事を書いた人

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

目次