Excelのファイルに、多くのシートが含まれる場合、目的のシートに行くのに時間がかかります。
しかし、ハイパーリンク関数を使って、目次を作成すると、同じ操作を何回も繰り返す事になります。
今回は、HYPERLINK関数を利用して目次シートを作成する技をご紹介します。
開発タブのVBEのイミディエイトウィンドウを使用して一気に取得可能です。
目次一括所得
VBAのシートへ行くショートカットキー
目次のシートを作成します。
キーボードの【Alt】+【11】を押します。
すると、この様な画面になります。
この、イミディエイトウィンドウにコードを入力します。
イミディエイトウィンドがない場合
【表示】タブの【イミディエイトウィンドウ】をクリックします。
ワークシート名を一気に取得
下記のコードをコピー&ペーストして[Enter]キーを押すと、ファイルに含まれるシート名を自動取得できます。
For Each a In ThisWorkbook.Sheets: debug.print a.name : next a
このコードの意味は、For Eachは、「i」の数だけ繰り返すと言う意味になります。
【a】は変数というものです。ThisWorkbook.Sheets」は「このブックに含まれるワークシート」と言う意味です。【debug.print i.name】は、イミディエイトウィンドウにワークシートの名前を出力と言う意味です。「next a」は、次のワークシート)となります。
この様に、貼り付けて、エンターキーを押します。
すると、シート名が自動で表示されます。
この表示されたシート名をコピーして、通常のExcel画面に戻ります。右上の×ボタンで、通常の画面になります。
目次シートへ貼り付け
この様に、目次シートに貼り付けます。
HYPERLINK関数を目次に埋め込む
HYPERLINK関数の引数は、=HYPERLINK(“表示先”,”表示する名前”)です。
ここでは、同じファイル内にリンクするので、目次の東京支店のリンク先の「>>」をクリックしたら、シート:東京支店へジャンプするという仕組みを作ります。
目次シートを作成する場合の[リンク先]は、同一のブックの別シートの特定のセルになります。東京支店なら、=HYPERLINK(“#東京支店!A1″,”>>” となります。
このうち、「東京支店」の部分はセルA1の文字列を利用することが可能です。つまり、
=HYPERLINK(“#”&A2&”!A1″,A2)
となります。
上記の様な式を挿入します。
エンターキーを押すと、東京本社にリンクする設置が出来ます。
下までオートフィルすると、全部のシート名にリンクする様になります。
まとめ
目次があると、Excelシートが使いやすくなります。上司と共有している、ファイルがあれば、この設定を活かしましょう。
気が利と褒められること間違いありません。
コメント