0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【VBA】ハイパーリンクのシート一覧を作成する方法

Last updated at Posted at 2021-04-06

今回は、ハイパーリンクのシート一覧を作成する方法です。

ハイパーリング付きのリストを一気に書き出したい場合に便利です。

↓実演動画
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文の中に書けば完成です。

以上が、ハイパーリンクのシート一覧を作成する方法でした。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?