Excelシート名一覧表示とシートへのリンクVBA

2020年4月6日パソコン操作

エクセルで、一つのブックに多数のシートがあると、目的のシートを探す手間が大変です。

シートの一覧を作成し、シートにリックするページを作ると役立ちます。


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 )の改定版です。