Categories: Excel

Excelでシート名の目次を自動作成する

Excelでシート名の目次をVBAを使って作成する方法です。下記のようなシートのExcelワークシートがあります。「シート1」「シート2」「シート3」「シート4」のシートがあります。

「目次」シートにシート1からのシート名の目次を作って、目次のシート名をクリックすると各シートにジャンプするようにします。

VBAコードは下記のとおりです。ポイントは.Hyperlinksです。

  • Anchor リンクを配置するセル位置です。
  • Address リンクのアドレスです。今回は同じExcelシート内なので空欄にします。
  • SubAddress リンクするシート名です。シート名はシングルクォーテーションで囲んでください。リンク先でのセル位置を指定したい場合は!の後にセル位置を追記してください。例では!A1でA1セルにカーソルが行くようにします。
  • TextToDisplay 表示する文字列です。ここではシート名にしました。

コードをコピー&ペーストするときは下記を使ってください。

すぐ動かせるサンプルExcelワークシートはGitHubに置いてあります。

tkizawa/excel_vba_sample_sheetname_index: Excel VBAで作るシート名での目次リンク作成 (github.com)

Sub 目次作成()
Dim sheet1 As Object
Dim count As Integer

With Worksheets(“目次”)
.Cells(1, 1).Value = “目次”
count = 2
For Each sheet1 In Worksheets
‘ 目次シートを目次から除外する
If sheet1.Name <> “目次” Then
      .Hyperlinks.Add Anchor:=.Cells(count, 1), Address:=””, SubAddress:=”‘” + sheet1.Name + “‘” + “!A1”, TextToDisplay:=sheet1.Name
count = count + 1
End If
Next sheet1
End With

End Sub

実際に動かす場合が不明な場合は下記のように操作してください。

VBAでコードを書きます。下準備としては、Excelのリボンメニューから[開発]-[Visual Basic]をクリック、またはALT+F11キーを押します。

左側のモジュール一覧のところで右クリックしてメニューから[挿入]-[標準モジュール]を選択します。

空のテキスト入力画面が出てきますので、上記のソースコードをコピー&ペーストしてください。

Visual Basicの画面から[ツール]-[マクロ]を選択します。マクロ名から[目次作成]を選択して[実行]ボタンをクリックします。

[目次]シートにシートごとの目次が作成できました。

すぐ動かせるサンプルExcelワークシートはGitHubに置いてあります。

tkizawa/excel_vba_sample_sheetname_index: Excel VBAで作るシート名での目次リンク作成 (github.com)

著者情報

木澤 朋和Microsoft MVP for Windows and Devices(Windows,Surface)


Microsoft MVPを14年間連続受賞している木澤朋和です。WindowsやSurfaceをはじめとしたパソコンやデジタルガジェットに関する情報を発信しています。ポッドキャスト番組YouTube動画配信で、Microsoft製品や技術の魅力をお伝えするコンテンツを配信中です。マイクロソフト関連の勉強会で登壇もしています。さらに、製品レビューのご依頼も随時受け付けていますので、お気軽にご相談ください。
木澤 朋和

Microsoft MVPを14年間連続受賞している木澤朋和です。WindowsやSurfaceをはじめとしたパソコンやデジタルガジェットに関する情報を発信しています。ポッドキャスト番組やYouTube動画配信で、Microsoft製品や技術の魅力をお伝えするコンテンツを配信中です。マイクロソフト関連の勉強会で登壇もしています。さらに、製品レビューのご依頼も随時受け付けていますので、お気軽にご相談ください。

Recent Posts

貴方は「かな入力」・「ローマ字入力」?

英語配列のキーボードを使うこと…

5日 ago

Wordの文字サイズを変更

ワードのショートカットについて…

1週間 ago

マウスを自動的に接続するクイックペアリング

特にペアリング操作なしに「新し…

2週間 ago

Excelの保護ビューを素早く解除する方法

Excelの保護ビューを素早く…

2週間 ago