Excel/VBA

動的HYPERLINK関数で別シートへ(目次作成とかには超便利!)

動的にハイパーリンクを作成する

B3セルに下記HYPERLINK関数を記載するとC3セルに記載したシート(ここでは「シート1」)へ遷移する事ができます。シート名に直接リンクを書かないので操作感もスッキリです。何よりリンクセルでオートフィルハンドル「+」が利用できるので複数シートへのリンクがあっという間に完成します。
以下例でC4は、「リンク先に遷移」した時のカーソル位置になります。

=HYPERLINK("#'"&C3&"'!C4","■")
B3fx=HYPERLINK("#'"&C3&"'!C4","■")
ABC
1目次
2
3■シート1
4

同じシートの中で移動するリンク

シート名を書かずに「#セル番地」だけにすると、同じシートの中で移動できます。長い表の「先頭へ戻る」リンクなどに便利です。

=HYPERLINK("#A1","▲先頭へ")
名前を付けた範囲へ移動する

移動先のセルを選んで、左上の名前ボックスに名前(例:集計)を入れておくと、セル番地の代わりに名前で書けます。行を挿入して位置がずれても、リンク先がずれません。

=HYPERLINK("#集計","集計へ")
目次へ戻るリンク

各シートに置いておくと、目次との行き来が楽になります。

=HYPERLINK("#'目次'!A1","目次へ戻る")
リンクを置かずに移動する方法
操作動き
名前ボックスの ▼ / F5(ジャンプ)名前を付けた範囲の一覧から選んで移動
Ctrl + [数式が参照しているセルへ移動(別シートでもOK)
Ctrl + ]このセルを参照している数式のセルへ移動(同じシートのみ)
F5 → Enter移動する前の場所へ戻る

例えば目次に =B100 と書いたセルを置いておけば、そのセルで Ctrl + [ を押すだけで B100 へ飛べます。うっかりクリックしても移動しないので、自分用にはこれもありです。

動的に別シートを参照するにはINDIRECT関数を使います

Book内シート一覧を作成する

ちなみに、以下「マクロ」を使うとブック内にあるシート名一覧を出力してくれますので、組み合わせ技として使えます。

Excel VBAマクロの動かし方がわからない方はこちらです。

Book名とシート名の表示

囲まれた文字列の抽出 URLの分解によく使います。

スポンサーリンク
タイトルとURLをコピーしました