ハイパーリンクの使い方

中級VBA

ExcelからWebサイトや別ブックを参照

 Excelのハイパーリンクを使えば、Webページのリンクのように、任意のWebページを開く事ができます。
 ハイパーリンクは、その他にも別のブックを参照したり現在のブックの別シートのセルへ飛んだりメールアドレスを指定してメールソフトを立ち上げたりする事ができます。
 今回はメニューから設定する方法と、VBAを使った設定方法を解説します。

メニューからハイパーリンクを設定

 ハイパーリンクを設定したいセルを選択した状態で、メニューの「挿入」->「リンク」と選択します。

 「ハイパーリンクの挿入」というダイアログが出てきます。ハイパーリンクの設定はこのダイアログで出来ます。

①「ファイル、Webページ」を選択すると、ファイル、Webページ、フォルダなどを選択でき、それらがリンク対象となります。
表示文字列」の所には、セルで表示する文字列を書き込みます。
ヒントの設定」は、マウスが置かれた時に表示するヒントの文字列を書き込みます。

②「このドキュメント内」では、現在のブックの各シートのセルをリンク対象に設定できます。

③「新規作成」では、現時点で設定先が決まっていないようなケースで設定します。

④「電子メール アドレス」では、メールアドレス、件名を指定することができます。選択後はメールソフトが起動します。
本文はメールソフトから書いて、送信する事になります。

ハイパーリンクの再編集・削除

 ハイパーリンクを設定した後で、再編集したい場合は、右クリックから「ハイパーリンクの編集」を選択すれば上記のダイアログで変更できます。
 また、ハイパーリンクの属性のみを削除したい場合は、右クリックから「ハイパーリンクの削除」を選択すればリンクの表記が消えて表示文字列が残る形になります。

VBAでハイパーリンクを設定

 ハイパーリンクをVBAから設定するには、シートオブジェクトの Hyperlinks から Add メソッドを実行します。
 引数の指定は以下の通りになります。

引数
Anchorハイパーリンクを設定するセル
Addressリンク先のURLや別ブックのファイルパス
ScreenTipマウスチップの文章
TextToDisplayセル上の表示文字列

別ブックへのリンク

 別ブックにリンクするとクリックしてからそのブックが開きます。
 Anchorには、パス付のファイル名をセットします

Sub Macro1()
    ActiveSheet.Hyperlinks.Add  _
                Anchor:=Range("B2"), _
                Address:=ThisWorkbook.Path & "\Book1.xlsx", _
                ScreenTip:="同じフォルダにあるBook1を開きます。", _
                TextToDisplay:="Book1.xlsxを開く"
End Sub

Webページへのリンク

 WebページにリンクするとクリックしてからそのWebページが開きます。
 Anchorには、WebページのURLをセットします。

Sub Macro2()
    ActiveSheet.Hyperlinks.Add _
                Anchor:=Range("B2"), _
                Address:="https://www.yahoo.co.jp/", _
                ScreenTip:="サイトの検索", _
                TextToDisplay:="yahoo"
End Sub

別シートのセルへのリンク

 現在のブックの別シートのセルへリンクさせることもできます。
 この場合、Addressには空白をセットしSubAddress という引数に対してセルの場所を指定します
 クリックすると、指定したセルに飛びます。

Sub Macro3()
    ActiveSheet.Hyperlinks.Add _
                Anchor:=Range("B4"), _
                Address:="", _
                SubAddress:="Sheet2!A2", _
                ScreenTip:="参照先に飛びます。", _
                TextToDisplay:="ここを参照してください。"

End Sub

メールアドレスへのリンク

 メールアドレスをへのリンクは、Addressに以下のような書式でセットします。
 
 Address:=”mailto:メールアドレス?subject=件名“,
 
 クリックするとメールソフトが開いて、指定した送信先件名が入力された状態になります。
 本文を書いて送信するのは、メールソフトで行います。

Sub Macro4()
    ActiveSheet.Hyperlinks.Add _
                Anchor:=Range("B6"), _
                Address:="mailto:user123@gmail.com?subject=業務報告", _
                ScreenTip:="メールソフト開きます。", _
                TextToDisplay:="業務報告をメールする"
    
End Sub

VBAでハイパーリンクを設定を削除

 設定されているハイパーリンク設定を削除するには、Hyperlinks.Deleteメソッドを実行すればOKです。
 この時、リンクが消滅しますが表示文字は残ります。

Sub Macro5()
    Range("B6").Hyperlinks.Delete
End Sub

最後に

 今回のハイパーリンクは、マクロの記録を使って簡単に加工できます。
 AnchorがSelectionで出力されますが、ここを指定したい場所、Range(“B2”) などと変更すれば出来上がりです。
 楽したい方はお試しください。

タイトルとURLをコピーしました