Excel

Excelマクロ紹介!目次を作成するマクロを解説!

シート名の目次を作る時、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

④マクロを実行

▶︎(実行ボタン)をクリック

「目次」シートが先頭に追加されました!

まとめ

ここまでお疲れさまでした。

今回は目次を作成するマクロについて説明させていただきました。

リンク付きの目次があると、親切な資料になるのでぜひお試しください!

他にも、マクロについて紹介しているので見てみてください