エクセルで、一つのブックに多数のシートがあると、目的のシートを探す手間が大変です。
シートの一覧を作成し、シートにリックするページを作ると役立ちます。
Sub シート名取得とリンク()
Dim rowNum As Long '取得データを格納する行番号
Dim workSt As Object 'シート名を記録するための変数
Dim WsName 'リンクするワークシート名
' セルの2行目からシート名を記録する
rowNum = 1
Cells(rowNum, 1) = "番号"
Cells(rowNum, 2) = "シート名"
Cells(rowNum, 3) = "リンク"
' ワークシートを順に workSt 変数に一時記録
For Each workSt In Worksheets
rowNum = rowNum + 1
' 取得したワークシートをセル( rowNum , 2 ) に格納
WsName = workSt.Name
Cells(rowNum, 2).Value = workSt.Name
WsName = "'" & WsName & "'!A1"
' A列に番号を採番
Cells(rowNum, 1).Value = rowNum - 1
' シートにハイパーリンクをセット
Cells(rowNum, 3).Hyperlinks.Add anchor:=Cells(rowNum, 3), Address:="", SubAddress:=WsName, TextToDisplay:="link"
Next
End Sub
以前アップしたコード( https://takesawa.jp/archives/339 )の改定版です。
コメント