VBA ハイパーリンクの設定



ハイパーリンクの挿入


VBAを使ってセルにハイパーリンクを挿入する方法です。
エクセル上だと[セル右クリック]→[ハイパーリンク(I)...]→[ハイパーリンクの挿入]・・・と同じ動作を再現します。


関数、メソッドなど
HyperlinksオブジェクトのAdd メソッドを使用します。

Hyperlinks.Add(Anchor, Address, SubAddress, ScreenTip, TextToDisplay)

AnchorとAddressは必須です。
Anchorとはハイパーリンクを設定する対象でセルやオブジェクトが入ります。
Addressは、そのままの意味で開く先のアドレスです。ワークブックやURLなどです。


サンプルコード
Sub hl()
    'セルA1にハイパーリンクを設定
    With ActiveSheet
            .Hyperlinks.Add Anchor:=.Range("a1"), _
            Address:="https://excwlvba.blogspot.jp/"
    End With
    
End Sub


解説
上記サンプルではアクティブシートにハイパーリンクの設定をしています。


○パラメーター
名前 必須/オプション 説明
Anchor 必須 ハイパーリンクのアンカーを指定
Range オブジェクトまたは Shape オブジェクトを指定
Address 必須 ハイパーリンクのアドレス
SubAddress オプション サブアドレス
(ブックの場合シートやセルなど)
ScreenTip オプション ハイパーリンク上をマウスポインターで指した場合に表示されるヒント
TextToDisplay オプション ハイパーリンクで表示されるテキスト



サンプルコード 2
Sub hl()
    'セルA1にハイパーリンクを設定
    With ActiveSheet
            .Hyperlinks.Add Anchor:=.Range("a1"), _
            Address:="https://excwlvba.blogspot.jp/", _
            ScreenTip:="マウスオーバーで表示される文字", _
            TextToDisplay:="セルに表示する文字"
    End With
    
End Sub


サンプルコード 3
Sub hl()
    '別のワークブックをリンク先として設定
    With ActiveSheet
            'セルA1にハイパーリンク挿入
            .Hyperlinks.Add Anchor:=.Range("a1"), _
            Address:="F:\test\book1.xlsx", _
            SubAddress:="Sheet2!A2", _
            TextToDisplay:="セルに表示する文字"
    End With
        
        'リンク先は[F:\test\]にある[book1.xlsx]
        'book1.xlsxのSheet2!A2をアクティブにし選択
        
End Sub



関連・類似ページ
ハイパーリンクを開く
ハイパーリンクを削除する