Excelでシートの枚数が増えたら、ハイパーリンクを使って目次を作成してみよう

excel_ハイパーリンクの画像

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

こんにちは。かわべです。

Excelでシートの枚数が増えた場合、目次を作成しておくと便利です。目次の作成には、ハイパーリンクを使用しました。また、マクロを作成しておくと、シートが追加された場合も便利なのでおすすめです。

マクロでハイパーリンクを設定するには「Hyperlinks.Add メソッド」を使用します。

excelシート目次作成_11

[aside type=”yellow”]この記事は、井ノ上先生の次の記事を参考にさせていただきました。

LINK Ex-itExcelで目次(シートへのリンク)を作るマクロ[/aside]

(使用Excel)2013

参考参考 Microsoft;Hyperlinks.Add メソッド(Excel)


Excelでハイパーリンクの挿入を使って目次を作成

Excelで「ハイパーリンクの挿入」を使用して目次を作成してみます。

次のようなシート構成のExcelファイルを用意しました。

excelシート目次作成_12

 

ハイパーリンクの挿入

ハイパーリンクを挿入するために、「目次」シートのB3セルに次のように「基本情報」と入力しました。(後で変更することもできます。)

excelシート目次作成_13

B3セルを右クリックします。

excelシート目次作成_14

表示されたメニューの一番下の「ハイパーリンク(I)…」をクリックすると、次のようなダイアログボックスが開きます。

excelシート目次作成_15

リンク先を「このドキュメント内(A)」を選択して次のような式を入力します。(デフォルトでは「A1」が選択されているようです。)

□ 「(シート名)!(セル)」(例「基本情報!A1」)

 

しかし、その「セル参照・・・」の下の「またはドキュメント内の場所を選択してください(C)」でシート名称を選択して右下の「OK」をクリックすることで、選択したシート名称のA1セルとリンクを挿入することができます。(こっちが簡単です。)

ハイパーリンクを挿入すると、目次のシートのB3セルが次のような表示になります。(青文字に下線)

excelシート目次作成_16

ためしにクリックしてみました。「基本情報」の「A1」セルが選択されています。

excelシート目次作成_17

 

目次を作成した場合の一工夫

目次を作成した場合、私は各シートに「目次へ」というハイパーリンクを貼り付けています。(上の画像の緑色の枠囲み部分)

「目次」シートに移動することができるので、これが意外と便利です。(作成の仕方は上と同じです。)

 

Excelで目次を作成するマクロ

上記のようにハイパーリンクの挿入で目次を作成しても良いのですが、シートが増えた場合等に手間がかかりますので、マクロを作成しておくと便利です。

Hyperlinks.Addを使ってマクロを作成

次のように、Hyperlinks.Addを使って、目次を作成するマクロを作成しました。

excelシート目次作成_18

 

Hiperlinks.Addのパラメータ

Hyperlinks.Addのパラメータは次のとおりです。(Microsoft;Hyperlinks.Add メソッド(Excel)より)

excelシート目次作成_20

 

この記事のHiperlinks.Addのパラメータの記述方法

この記事では、次の3つの項目を設定しました。

□ Anchor:ハイパーリンクを設定するセルを記述

この記事では、Do~Loopを使って、B3セルから1つずつ下のセルに目次を作成していくという記述をしています。1つずつ下にということを実現するため、変数lonBbを使って、「(ws1.cells(lonBb+1,2)」と記述しました。

 

□ Address:ハイパーリンクのアドレスを記載します。

この記事では、アドレスを省略するため、「””」と記述してあります。

 

□ SubAddress:シート名称とセル番号を記述します。

この記事では、ワークシートの名称(変数「strGa」)と「”!A1″」と記述しました。(「&」で接続してあります。)

このマクロを実行すると次のようになります。下の画像のとおり、「目次の作成」というボタン(コントロールフォーム)を作成して、シート数が増えてもボタン1つで作成できるようにしました。

excelシート目次作成_19

 

※ そのほかの記述方法

上記は、Do~Loopを使った私の好みの記述方法なのですが、井ノ上先生の作成したマクロと比較すると複雑だと感じています。井ノ上先生は次の記事でマクロを公開されていますので、そちらも是非、参考にしてみてください。

Ex-itExcelで目次(シートへのリンク)を作るマクロ


■□◆◇ 編集後記 ◇◆□■

今日は、移動の最初で3分ほど遅れたため、最終的に目的地の到着が30分ほど遅くなってしまいました。

プログラミングを学ぶならTechAcademy [テックアカデミー]