この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
こんにちは。かわべです。
Excelでシートの枚数が増えた場合、目次を作成しておくと便利です。目次の作成には、ハイパーリンクを使用しました。また、マクロを作成しておくと、シートが追加された場合も便利なのでおすすめです。
マクロでハイパーリンクを設定するには「Hyperlinks.Add メソッド」を使用します。
[aside type=”yellow”]この記事は、井ノ上先生の次の記事を参考にさせていただきました。
LINK Ex-it;Excelで目次(シートへのリンク)を作るマクロ[/aside]
(使用Excel)2013
参考参考 Microsoft;Hyperlinks.Add メソッド(Excel)
Excelでハイパーリンクの挿入を使って目次を作成
Excelで「ハイパーリンクの挿入」を使用して目次を作成してみます。
次のようなシート構成のExcelファイルを用意しました。
ハイパーリンクの挿入
ハイパーリンクを挿入するために、「目次」シートのB3セルに次のように「基本情報」と入力しました。(後で変更することもできます。)
B3セルを右クリックします。
表示されたメニューの一番下の「ハイパーリンク(I)…」をクリックすると、次のようなダイアログボックスが開きます。
リンク先を「このドキュメント内(A)」を選択して次のような式を入力します。(デフォルトでは「A1」が選択されているようです。)
□ 「(シート名)!(セル)」(例「基本情報!A1」)
しかし、その「セル参照・・・」の下の「またはドキュメント内の場所を選択してください(C)」でシート名称を選択して右下の「OK」をクリックすることで、選択したシート名称のA1セルとリンクを挿入することができます。(こっちが簡単です。)
ハイパーリンクを挿入すると、目次のシートのB3セルが次のような表示になります。(青文字に下線)
ためしにクリックしてみました。「基本情報」の「A1」セルが選択されています。
目次を作成した場合の一工夫
目次を作成した場合、私は各シートに「目次へ」というハイパーリンクを貼り付けています。(上の画像の緑色の枠囲み部分)
「目次」シートに移動することができるので、これが意外と便利です。(作成の仕方は上と同じです。)
Excelで目次を作成するマクロ
上記のようにハイパーリンクの挿入で目次を作成しても良いのですが、シートが増えた場合等に手間がかかりますので、マクロを作成しておくと便利です。
Hyperlinks.Addを使ってマクロを作成
次のように、Hyperlinks.Addを使って、目次を作成するマクロを作成しました。
Hiperlinks.Addのパラメータ
Hyperlinks.Addのパラメータは次のとおりです。(Microsoft;Hyperlinks.Add メソッド(Excel)より)
この記事のHiperlinks.Addのパラメータの記述方法
この記事では、次の3つの項目を設定しました。
□ Anchor:ハイパーリンクを設定するセルを記述
この記事では、Do~Loopを使って、B3セルから1つずつ下のセルに目次を作成していくという記述をしています。1つずつ下にということを実現するため、変数lonBbを使って、「(ws1.cells(lonBb+1,2)」と記述しました。
□ Address:ハイパーリンクのアドレスを記載します。
この記事では、アドレスを省略するため、「””」と記述してあります。
□ SubAddress:シート名称とセル番号を記述します。
この記事では、ワークシートの名称(変数「strGa」)と「”!A1″」と記述しました。(「&」で接続してあります。)
このマクロを実行すると次のようになります。下の画像のとおり、「目次の作成」というボタン(コントロールフォーム)を作成して、シート数が増えてもボタン1つで作成できるようにしました。
※ そのほかの記述方法
上記は、Do~Loopを使った私の好みの記述方法なのですが、井ノ上先生の作成したマクロと比較すると複雑だと感じています。井ノ上先生は次の記事でマクロを公開されていますので、そちらも是非、参考にしてみてください。
Ex-it;Excelで目次(シートへのリンク)を作るマクロ
■□◆◇ 編集後記 ◇◆□■
今日は、移動の最初で3分ほど遅れたため、最終的に目的地の到着が30分ほど遅くなってしまいました。
プログラミングを学ぶならTechAcademy [テックアカデミー]