0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Excelで目次ページに遷移するマクロを組んでみた

0
Posted at

はじめに

Excelを使用するとき、用途ごとにシートを分けていたら増えすぎて、目的のシートを探すことが面倒だ、となったことはありませんか?
そんな時に便利なマクロがとても簡単に組めたので手順を解説していきます:eyes:

マクロの作成

マクロを組む準備をする

まず、Excel上で Alt + F11 を押してVBAエディタを開いてください。
もしくは開発タブからVisual Basicをクリックしても開けます。

スクリーンショット 2026-04-22 102217.png

VBAエディタが開けたら、画面左のフォルダがあるエリアで右クリックを押し、
挿入 → 標準モジュール
と選択します。

スクリーンショット 2026-04-22 102759.png

マクロを組む

標準モジュールの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を押したら完了です。

image.png

備考

マクロを有効化すると悪意のあるマクロも組めてしまうので、社外等でファイルを共有するときは使わない方がいいかもしれませんね、、、(ハイパーリンクはマクロでないため問題ない)

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?