Excelでシートが多くなると選択に手間がかかります。
とはいえ、1つのファイルにしておきたいこともあるはずです。
そこで、シートへの目次をつくってみましょう。
シートの基本的な操作方法
シートの基本的な使い方はこちらの記事にまとめてあります。
Excelのメリットの1つ、シートを最大限に活用するテクニック7+1
Ctrl+Pageup(MacだとCtrl+fn+↑)でシートを左に移動、Ctrl+Pagedown(MacだとCtrl+fn+↓)でシートを右に移動できるショートカットキーは便利ですので、ぜひ。
Excelでシートへのリンクをつくる方法
Excelシートへのリンクは次のように作ります。
①シート名を入力
まず、シート名(省略・短縮してもかまいません)を入力します。
②リンクをつくる
Ctrl+Kを押し、次のような画面で、[このドキュメント内]を左のメニューから選び、さらに右のボックスで、リンクしたいシートを選択し、OKをクリックします。
③リンクの確認
これでリンクができ、
クリックすると、設定したシートへ移動できます。
Excelマクロで一気に目次をつくる方法
上記の設定をすべてのシートでやれば目次が完成します。
しかし、非常にめんどくさいです。
マクロで一気につくるりましょう。
コードは次のとおりです。
Sub mokujisakusei() Dim i For i = 1 To Worksheets.Count ActiveSheet.Hyperlinks.Add Anchor:=Range("a" & i), _ Address:="", _ SubAddress:=Worksheets(i).Name & "!A1", _ TextToDisplay:=Worksheets(i).Name Next End Sub
「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番目以降のシートの「目次」を作る
という流れにします。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
Sub mokujisakusei() 'シート「目次」があったら、削除 On Error Resume Next Application.DisplayAlerts = False Worksheets("目次").Delete Application.DisplayAlerts = True 'シートを一番左に追加し、名前を「目次」に変更 Worksheets.Add Before:=Worksheets(1) ActiveSheet.Name = "目次" '左から2番目のシートから目次を作成 Dim i For i = 2 To Worksheets.Count Worksheets("目次").Range("a1").Value = "目次" Worksheets("目次").Hyperlinks.Add Anchor:=Range("a" & i), _ Address:="", _ SubAddress:=Worksheets(i).Name & "!A1", _ TextToDisplay:=Worksheets(i).Name Next Worksheets("目次").Select End Sub
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
シート「目次」に瞬時に戻りたいなら、次のようなマクロを設定すると便利です。
Sub mokuji() Worksheets("目次").Select End Sub
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
さらにショートカットキーを設定しておきましょう。
ExcelでAlt+F8を押し、[オプション]からショートカットキーを設定できます。
各シートに目次へのリンクをつけてもいいでしょうね。
マクロについては、YouTube動画もありますので、参考にしていただければ。
昨日は終日お客様訪問。
通常業務の他、年末調整、賞与計算、経費精算マクロ導入など盛りだくさんでした(^_^)
■著書
『税理士のためのプログラミング -ChatGPTで知識ゼロから始める本-』
『すべてをがんばりすぎなくてもいい!顧問先の満足度を高める税理士業務の見極め方』
ひとり税理士のギモンに答える128問128答
【インボイス対応版】ひとり社長の経理の基本
「繁忙期」でもやりたいことを諦めない! 税理士のための業務効率化マニュアル
ひとり税理士の自宅仕事術
リモート経理完全マニュアル――小さな会社にお金を残す87のノウハウ
ひとり税理士のセーフティネットとリスクマネジメント
税理士のためのRPA入門~一歩踏み出せば変えられる!業務効率化の方法~
やってはいけないExcel――「やってはいけない」がわかると「Excelの正解」がわかる
AI時代のひとり税理士
新版 そのまま使える 経理&会計のためのExcel入門
フリーランスとひとり社長のための 経理をエクセルでトコトン楽にする本
新版 ひとり社長の経理の基本
『ひとり税理士の仕事術』
『フリーランスのための一生仕事に困らない本』
【監修】十人十色の「ひとり税理士」という生き方