Sub TEST1()
With ActiveSheet
'Webサイトへの、ハイパーリンクの設定
.Hyperlinks.Add anchor:=.Cells(1, 1), _
Address:="https://www.yahoo.co.jp"
End With
End Sub
では、実行してみます。
Webサイトへのハイパーリンクを設定
では、クリックしてみます。
ハイパーリンクでWebサイトを開く
「Yahoo」のWebサイトが表示されました。
フォルダへのハイパーリンク
フォルダへのハイパーリンクを作成してみます。
Sub TEST2()
With ActiveSheet
'フォルダへの、ハイパーリンクの設定
.Hyperlinks.Add anchor:=.Cells(1, 1), _
Address:="C:\TEST"
End With
End Sub
では、実行してみます。
フォルダへのハイパーリンクを設定
では、クリックしてみます。
ハイパーリンクでフォルダを開く
「TEST」のフォルダが表示されました。
別ブックへのハイパーリンク
別ブックへのハイパーリンクを作成してみます。
Sub TEST3()
With ActiveSheet
'別ブックへの、ハイパーリンクの設定
.Hyperlinks.Add anchor:=.Cells(1, 1), _
Address:="C:\TEST\TEST.xlsx"
End With
End Sub
では、実行してみます。
フォルダへのハイパーリンクを設定
では、クリックしてみます。
ハイパーリンクで別ブックを開く
「TEST.xlsx」のブックが表示されました。
別シートへのハイパーリンク
別ブックで別シートへのハイパーリンクを作成してみます。
エクセルのシートまでを指定する場合は、「SubAddress」を使います。
Sub TEST4()
With ActiveSheet
'別シートへの、ハイパーリンクの設定
.Hyperlinks.Add anchor:=.Cells(1, 1), _
Address:="C:\TEST\TEST.xlsx", _
SubAddress:="'Sheet2'!B3"
End With
End Sub
では、実行してみます。
フォルダへのハイパーリンクを設定
では、クリックしてみます。
ハイパーリンクで別ブックの別シートを開く
「TEST.xlsx」の「Sheet2」が表示されて、セル「B3」に移動しています。
同ブックの別シートへのハイパーリンク
同ブックの別シートへのハイパーリンクを作成してみます。
同ブック内にハイパーリンクを作成する場合は、「Address」の値を、空白""に設定します。
Sub TEST5()
With ActiveSheet
'同ブックの別シートへの、ハイパーリンクの設定
.Hyperlinks.Add anchor:=.Cells(1, 1), _
Address:="", _
SubAddress:="'Sheet2'!B3"
End With
End Sub
では、実行してみます。
フォルダへのハイパーリンクを設定
では、クリックしてみます。
ハイパーリンクで同ブックの別シートを開く
同ブックの「Sheet2」へ移動して、セル「B3」がアクティブになっています。
VBAでハイパーリンクを削除
次は、ハイパーリンクを削除する方法です。
Hyperlinks.Deleteを使う
ハイパーリンクの削除には、「Hyperlinks.Delete」を使います。
一つのハイパーリンクを削除する方法と、シート内のハイパーリンクを削除する方法があります。
ハイパーリンクを削除
まず、セルA1に設定された、ハイパーリンクを削除してみます。
Sub TEST6()
'一つのハイパーリンクを削除
ActiveSheet.Cells(1, 1).Hyperlinks.Delete
End Sub
セルA1にハイパーリンクが設定された、シートを用意しました。
ハイパーリンクが設定されたセル
では、実行してみます。
セルのハイパーリンクを削除
セルA1のハイパーリンクを、削除することができました。
シート内のハイパーリンクを削除
続いて、シート内のすべてのハイパーリンクを、削除してみます。
Sub TEST7()
'シート内のすべてのハイパーリンクを削除
ActiveSheet.Hyperlinks.Delete
End Sub
1つのシーと内に、複数のハイパーリンクを設定しました。
複数ハイパーリンクが設定されたシート
では、VBAコードを実行して、シート内のハイパーリンクをすべて削除してみます。
シート内のハイパーリンクを削除
1つのシート内のハイパーリンクを、すべて削除できました。
VBAでハイパーリンクの値を取得
次は、ハイパーリンクが設定されたセルから、ハイパーリンクの値を取得する方法です。
ハイパーリンクが設定されたセルから、値を取得するには、「Hyperlinks」を使います。
アドレスを取得
ハイパーリンクのアドレスを、セルから取得するVBAコードです。
Sub TEST8()
'ハイパーリンクの「アドレス」を取得
a = ActiveSheet.Cells(1, 1).Hyperlinks(1).Address
Debug.Print a
End Sub
セルに別ブック「C:\TEST\TEST.xlsx」へのハイパーリンクを設定しました。
ハイパーリンクが設定されたセル
では、ハイパーリンクのアドレスを取得してみます。
ハイパーリンクの「アドレス」を取得
ハイパーリンクのアドレス「C:\TEST\TEST.xlsx」を取得できました。
サブアドレスを取得
次は、ハイパーリンクのサブアドレスを取得してみます。
Sub TEST9()
'ハイパーリンクの「サブアドレス」を取得
a = ActiveSheet.Cells(1, 1).Hyperlinks(1).SubAddress
Debug.Print a
End Sub
Sub TEST11()
With ActiveSheet
'シート内のハイパーリンクをループ
For i = 1 To .Hyperlinks.Count
'ハイパーリンクのアドレスを取得
Debug.Print .Hyperlinks(i).Address
Next
End With
End Sub
では、実行してみます。
シート内のすべてのハイパーリンクを取得できました。
ハイパーリンクのセル範囲を取得
シート内で、すべてのハイパーリンクのセル範囲を取得することもできます。
Sub TEST12()
'シート内のハイパーリンクをループ
For Each a In ActiveSheet.Hyperlinks
'ハイパーリンクのセル範囲を取得
Debug.Print a.Range.Address
Next
End Sub
ポイントは、「.Range.Address」とするところです。
シート内に複数のハイパーリンクを設定しました。
複数のハイパーリンクを設定
では、実行してみます。
ハイパーリンクのセル範囲を取得
ハイパーリンクのセル範囲を取得できました。
VBAでハイパーリンクを開く
ちなみに、VBAでハイパーリンクを開くこともできます。
クリックだけではなくて、VBAコードからもハイパーリンクを開けるということです。
Hyperlinks(1).Followを使う
VBAで、ハイパーリンクを開くには、「Hyperlinks(1).Follow」を使います。
入力の仕方は、
「セル範囲.Hyperlinks(1).Follow」
というように、入力します。
VBAでハイパーリンクを開く
では、VBAでハイパーリンクを開いてみます。
Sub TEST13()
'ハイパーリンクを開く
ActiveSheet.Cells(1, 1).Hyperlinks(1).Follow
End Sub