シート名の目次を作る時、1つ1つリンクを設定していませんか?
今回のマクロを使うと、リンク付きの目次を作成できます!
例)「営業部」をクリックすると、「営業部」シートへ
さかい
はじめまして、さかいと申します。
インスタで『自動化オタクの仕事術』を紹介している自分が解説させていただきます!
マクロを作る前の準備
まず、マクロを作成するために準備をしていきます
Excelファイルの上にあるツールバーに
「開発」タブを表示させます
既に表示している方は2 マクロを作るにジャンプしていただいてOKです
開発タブを表示
①ツールバーの上で右クリック
②「リボンのユーザー設定」を選択
すると、Excelのオプションが開きます
③「開発」にチェックをつけてOKをクリック
ツールバーに「開発」タブが表示されます。
これで準備完了です!
お疲れさまです!これでマクロを作ることができます!
早速マクロを作成していきましょう。
マクロを作る
①VBEを起動
「開発」タブから「Visual Basic」をクリック
または「Alt + F11」でもOKです
以下の画面が表示されます
②プロジェクトから標準モジュールを挿入
プロジェクト→挿入→標準モジュールをクリック
標準モジュールが表示されるとOKです
③Module1に以下のコードを貼り付け
Sub 目次作成()
Dim Sheet1 As Worksheet
Dim SheetAgenda As Worksheet
Dim i As String
'先頭にシートを追加
ActiveWorkbook.Sheets.Add Before:=Worksheets(1)
'追加したシート名を「目次」に変更
ActiveSheet.Name = "目次"
'目次シートをSheetAgendaに設定
Set SheetAgenda = Sheets("目次")
'目次シートのA1セルに「目次」を入力
SheetAgenda.Cells(1, 1).Value = "目次"
i = 2
'全シートループ
For Each Sheet1 In Sheets
'目次シート以外を目次に追加
If Sheet1.Name <> "目次" Then
'シート名を出力
SheetAgenda.Cells(i, 1) = Sheet1.Name
'シートへのハイパーリンクを設定
ActiveSheet.Hyperlinks.Add Anchor:=SheetAgenda.Cells(i, 1), Address:="", SubAddress:="'" & Sheet1.Name & "'!A1", TextToDisplay:=Sheet1.Name
i = i + 1
End If
Next
End Sub
④マクロを実行
▶︎(実行ボタン)をクリック
「目次」シートが先頭に追加されました!
まとめ
ここまでお疲れさまでした。
今回は目次を作成するマクロについて説明させていただきました。
リンク付きの目次があると、親切な資料になるのでぜひお試しください!
他にも、マクロについて紹介しているので見てみてください