Excel VBAでセルにハイパーリンクを挿入する方法|外部リンクとシート内リンクの設定手順

Excelを使った業務効率化の一環として、「セルにハイパーリンクを設定する処理」を自動化したいとお考えの方も多いのではないでしょうか。
本記事では、VBAを用いてセルに外部サイトへのリンクや、シート内の別セルへのリンクを挿入する方法について、具体的なコードとともに丁寧にご紹介いたします。


目次

想定する用途と目的

  • Excelの特定セルにWebページのURLを挿入したい。
  • クリックで別のシートにジャンプするリンクを自動で作成したい。
  • 手動操作ではなく、VBAでまとめて設定したい。

VBAコードの例

以下のサンプルコードでは、セルB3に外部リンク(Webサイト)を、セルB4に別シートのセルへのリンクを挿入しています。

Sub InsertHyperlinks()

    With ActiveSheet.Hyperlinks
        ' 外部リンク(Webページ)をセルB3に挿入
        .Add _
            Anchor:=Range("B3"), _
            Address:="https://morinokabu.com", _
            TextToDisplay:="森の株サイト(外部リンク)"

        ' シート内リンクをセルB4に挿入(Sheet2のC5へジャンプ)
        .Add _
            Anchor:=Range("B4"), _
            Address:="", _
            SubAddress:="Sheet2!C5", _
            TextToDisplay:="Sheet2のセルC5へ移動"
    End With

End Sub

コードの解説

.Add メソッドについて

Hyperlinks.Addメソッドでは、以下の3つの主要な引数を指定します。

引数名説明
Anchorハイパーリンクを挿入するセルの位置(Rangeオブジェクト)
Address外部リンクのURL。空にするとシート内リンクになります
SubAddressシート内リンク先のセル。例:"Sheet2!C5"
TextToDisplayセルに表示される文字列

外部リンクとシート内リンクの使い分け

  • Webサイトへのリンクには、AddressにURLを設定し、SubAddressは省略します。
  • シート内リンクでは、Addressを空にし、SubAddressにジャンプ先セルの参照を指定します。

よくある応用例

  • シートの目次を作成し、各項目から該当ページへジャンプする。
  • 各商品データから詳細ページ(Webサイト)に飛ぶリンクを挿入する。
  • ファイル内の集計シートから個別入力シートへのリンクを一括設定する。

まとめ

VBAを活用することで、Excel内の複数セルに対して簡単にハイパーリンクを自動挿入できます。
外部のWebページと社内のシート内移動の両方に対応できるため、報告書やマニュアル作成、業務システムとの連携など、さまざまな場面で有効です。

本記事でご紹介したコードを応用すれば、手作業によるリンク作成の手間を削減し、ミスのない正確なリンク設定が実現できます。
ぜひご自身の業務に合わせてカスタマイズしてご活用ください。

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

この記事を書いた人

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

目次