今回は、ハイパーリンクのシート一覧を作成する方法です。
ハイパーリング付きのリストを一気に書き出したい場合に便利です。
↓実演動画
https://youtu.be/x6CRKzxj70Y
ソースコードは下記の通りです。
Sub ハイパーリンクの設定()
Dim i As Long
Dim j As Long
Dim ws As Worksheet
Set ws = Worksheets(1)
j = 1
For i = 2 To Worksheets.Count
ws.Hyperlinks.Add Anchor:=ws.Cells(j, 1), _
Address:="", _
SubAddress:="'" & Replace(Worksheets(i).Name, "'", "''") & "'!A1", _
TextToDisplay:=Worksheets(i).Name
j = j + 1
Next
End Sub
詳細を説明します。
Dim i As Long
Dim j As Long
Dim ws As Worksheet
まずは、各変数を用意します。
Set ws = Worksheets(1)
ハイパーリンクの一覧を作成したいシートを設定します。
ws.Hyperlinks.Add
こちらでハイパーリング付きの文字列を追加していきます。
Hyperlinks.Addメソッドの使い方は、下記のサイトが分かりやすいかと思います。
https://vbabeginner.net/hyperlinks-add/
Anchor:=ws.Cells(j, 1)
Anchorでは、記載したいセルの場所を設定します。
Address:=""
Addressには、リンクさせるURLを設定するみたいですが、今回は「SubAddress」を使用するので空文字の「""」としています。
SubAddress:="'" & Replace(Worksheets(i).Name, "'", "''") & "'!A1"
リンク先のパスを指定します。
最初には、「'」を付けるようにします。
他にシート前に「'」が付いていたら、「''」に置換します。
最後に「'!A1」とすることで、ジャンプ先の最初のセルがA1になります。
後は、ループで全シート取得するようにFor文の中に書けば完成です。
以上が、ハイパーリンクのシート一覧を作成する方法でした。