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ページと社内のシート内移動の両方に対応できるため、報告書やマニュアル作成、業務システムとの連携など、さまざまな場面で有効です。
本記事でご紹介したコードを応用すれば、手作業によるリンク作成の手間を削減し、ミスのない正確なリンク設定が実現できます。
ぜひご自身の業務に合わせてカスタマイズしてご活用ください。
技術書の購入コストを抑えてスキルアップするなら

ここまで読んでいただきありがとうございます。最後に宣伝をさせてください。
プログラミングの技術書や参考書は、1冊3,000円〜5,000円するものも多く、出費がかさみがちです。Kindle Unlimitedであれば、月額980円で500万冊以上の書籍が読み放題となります。
気になる言語の入門書から、アルゴリズム、基本設計の専門書まで、手元のスマホやPCですぐに参照可能です。現在は「30日間の無料体験」や、対象者限定の「3か月499円プラン」なども実施されています。まずはご自身のアカウントでどのようなオファーが表示されるか確認してみてください。
