ハイパーリンクの挿入
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
関連・類似ページ
ハイパーリンクを開くハイパーリンクを削除する