こんにちは、Ryoです。
Excelで良く使う機能の一つにハイパーリンクがありますが、そのリンクの作成や削除をVBAのHyperlinkオブジェクト/Addメソッド/Deleteメソッドを使用することで行うことができます。今回はその内容について書いていきます。
1.サンプル概要
サンプルとしてセルA1にハイパーリンクを設定します。リンク先は「https://jizilog.com」で表示する文字列は「自恃ろぐ」とします。
≪実行前≫
≪実行後≫
セルA1にハイパーリンクが設定されましたので、クリックすると指定先が表示されます。
また削除としては「指定範囲」と「シート全体」の2通りを書いていきます。処理結果としてはどちらも同様なので、動作画像は「指定範囲削除」のものになります。
≪範囲削除前≫
これは先に実行したサンプルでセルA1に書き込まれたハイパーリンクを手動でセルA2~A5にコピーしたものです。
≪セルA1~A5指定範囲削除後≫
この通り指定範囲のリンクを全て削除しています。
2.サンプルコード
◆ハイパーリンク設定
Sub Sample1() 'セルA1にハイパーリンク設定を行い、文字列の '「自恃ろぐ」を表示する Worksheets("Sheet1").Hyperlinks.Add _ Anchor:=Cells(1, 1) _ , Address:="https:jizilog.com/" _ , TextToDisplay:="自恃ろぐ" End Sub
このようにハイパーリンクを作成するにはHyperlinkオブジェクトのAddメソッドを使用します。
構文:
オブジェクト.Hyperlinks.Add(Anchor,Address,SubAddress,
ScreenTip,TextToDisplay)
このAddメソッドに指定する値は以下表の通りです。
名前 | 内容 |
Anchor | ハイパーリンクをリンクさせるオブジェクト指定 |
Address | ハイパーリンクアドレスの指定 |
SubAddress | ハイパーリンクサブアドレスの指定 |
ScreenTip | ハイパーリンク上をマウスポインタで刺した場合に表示される文字(ヒント等)を指定 |
TextToDisplay | ハイパーリンクで表示されるテキストを指定 |
サンプルではAnchor:=Cells(1,1)としてセルA1にハイパーリンク設定、Address:=https://jizilog.com/でリンク先アドレスの指定、TextToDisplay:=自恃ろぐで表示されるテキストを指定している内容になります。
◆範囲指定削除
Sub Sample2() '指定範囲のハイパーリンクを削除する '(本サンプルではセルA1~A5) Worksheets("Sheet1").Range(Cells(1, 1), _ Cells(5, 1)).Hyperlinks.Delete End Sub
ハイパーリンクの削除にはDeleteメソッドを使用します。
構文:オブジェクト.Delete
このオブジェクトにHyperlinkオブジェクトを指定することでハイパーリンクを削除します。
本サンプルでは指定範囲を削除するもなので、Rangeオブジェクトを指定することで複数セル範囲を設定しています。
◆シート全体削除
Sub Sample3() '対象シート全てのハイパーリンクを削除する Worksheets("Sheet1").Hyperlinks.Delete End Sub
シート全体のハイパーリンクを削除する場合は、Worksheetオブジェクトを指定することで対象Sheet内のハイパーリンクは全て削除されます。
3.まとめ
ハイパーリンクの設定や削除自体はそれほど難しくないので扱いやすいと思います。
何かと利用機会が多いハイパーリンクですが、まめに管理していないと何処に設定したのかわからなくなったり、リンク切れなどがあって煩わしいこともありますので、そんな時はまとめて消したりできる方法を知っておくのは良いと思います。
以上、ハイパーリンクを作成/削除する方法についてでした!今回の記事が何かの参考になれば幸いです。
Ryo