Excelで目次(シートへのリンク)をつくるマクロ

Excelでシートが多くなると選択に手間がかかります。
とはいえ、1つのファイルにしておきたいこともあるはずです。
そこで、シートへの目次をつくってみましょう。
Excel見出し

 

シートの基本的な操作方法

シートの基本的な使い方はこちらの記事にまとめてあります。

Excelのメリットの1つ、シートを最大限に活用するテクニック7+1

Ctrl+Pageup(MacだとCtrl+fn+↑)でシートを左に移動、Ctrl+Pagedown(MacだとCtrl+fn+↓)でシートを右に移動できるショートカットキーは便利ですので、ぜひ。

 

 

 

Excelでシートへのリンクをつくる方法

Excelシートへのリンクは次のように作ります。

①シート名を入力

まず、シート名(省略・短縮してもかまいません)を入力します。
スクリーンショット 2013 11 19 4 06 32

 

②リンクをつくる

Ctrl+Kを押し、次のような画面で、[このドキュメント内]を左のメニューから選び、さらに右のボックスで、リンクしたいシートを選択し、OKをクリックします。
スクリーンショット 2013 11 19 4 06 49

 

③リンクの確認

これでリンクができ、
スクリーンショット 2013 11 19 4 07 00

クリックすると、設定したシートへ移動できます。
スクリーンショット 2013 11 19 4 08 20

 

 

Excelマクロで一気に目次をつくる方法

上記の設定をすべてのシートでやれば目次が完成します。
しかし、非常にめんどくさいです。
マクロで一気につくるりましょう。

コードは次のとおりです。

「For i = 1 To Worksheets.Count〜Next」で、シートの数だけ、処理を繰り返します。
10枚シートがあれば、10回、100枚なら100回、「リンクを設定する」という処理を繰り返すのです。

「リンクを設定する」という命令は、「ActiveSheet.Hyperlinks.Add」で、細かい指定はその後の分でやっています。

「Anchor:=Range(“a” & i)」は、リンクを入れるセルの指定です。
10枚シートがある場合は、A1からA10にリンクを作り、100枚シートがある場合は、A1からA100にリンクを作るように設定しています。

「Address:=Worksheets(i).Name & “!A1″」は、リンク先のシート名の設定です。
左から順に設定していきます。

「TextToDisplay:=Worksheets(i).Name」は、セルにシート名を表示する設定です。

上記のコードだと、シート「目次」へのリンクもできてしまうので、実際に使う場合は、
・左から一番目にシート「目次」を作る
・左から2番目以降のシートの「目次」を作る
という流れにします。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
シート「目次」に瞬時に戻りたいなら、次のようなマクロを設定すると便利です。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

さらにショートカットキーを設定しておきましょう。
ExcelでAlt+F8を押し、[オプション]からショートカットキーを設定できます。

スクリーンショット 2013 11 19 4 40 00

 

各シートに目次へのリンクをつけてもいいでしょうね。
マクロについては、YouTube動画もありますので、参考にしていただければ。

ネット上のExcelマクロを自分のファイルに流用する方法

はじめてのExcelマクロ – YouTube


【編集後記】
昨日は終日お客様訪問。
通常業務の他、年末調整、賞与計算、経費精算マクロ導入など盛りだくさんでした(^_^)