はじめに
Excelを使用するとき、用途ごとにシートを分けていたら増えすぎて、目的のシートを探すことが面倒だ、となったことはありませんか?
そんな時に便利なマクロがとても簡単に組めたので手順を解説していきます![]()
マクロの作成
マクロを組む準備をする
まず、Excel上で Alt + F11 を押してVBAエディタを開いてください。
もしくは開発タブからVisual Basicをクリックしても開けます。
VBAエディタが開けたら、画面左のフォルダがあるエリアで右クリックを押し、
挿入 → 標準モジュール
と選択します。
マクロを組む
標準モジュールのModule1に目次シートへ遷移するコードを書きます。
Sub GoToIndex()
Sheets("目次シートの名前").Activate
End Sub
このようにActivateメゾットを使用すると、指定したシートをアクティブにすることができます。
次に、Microsoft Excel Objectsフォルダ内のThisWorkbookにショートカットキー割り当てのコードを書きます。
Private Sub Workbook_Open()
Application.OnKey "^+i", "GoToIndex"
End Sub
これはApplication.OnKeyメゾットを使用し、Ctrl + Shift + i にGoToIndexマクロを割り当てています。
ちなみに、
"^" → Ctrl
"+" → Shift
" i " → iキー
です。お好きなショートカットを割り当ててみてください。
コードが書けたら一度VBA上で実行します。
F5もしくは実行タブ → sub/ユーザーフォームの実行から実行してください。
ポイント
このときに意識したいことは、何を標準モジュールに書いて、何を ThisWorkbook に書くか、というところです。
基本的に標準モジュールには、実際に行う処理を書きます。
一方、ThisWorkbookにはマクロの発火条件を書くことが多いです。
そこが混ざるとマクロが上手く動かなくなってしまうので注意しましょう。
目次のリンク設定
どのページからも目次へ遷移できるようになったので、今度は目次から目的のページへ遷移できるようにしましょう。
目次ページのお好みの項目が書いてあるセルを選択した状態で、Ctrl + K もしくは
挿入タブ → リンク → リンクを挿入
をクリックしてください。
ハイパーリンクの挿入画面が開けたら、このドキュメント内を選択します。後は、セル範囲から任意のシート名を選択し、OKを押したら完了です。
備考
マクロを有効化すると悪意のあるマクロも組めてしまうので、社外等でファイルを共有するときは使わない方がいいかもしれませんね、、、(ハイパーリンクはマクロでないため問題ない)



