Seesaaブログから引っ越した。洗練されたものを目指します。投稿を表示しています。投稿を表示しています。シート名から目次を自動生成するExcelで仕様書・設計書を書いているエンジニアは、相当数にのぼると考えられます。勝手に作ってほしいですよね。WORDなら、できるんだし。各シートにページ・タイトルを設定する今回は、以下のような仕様でいこうと思います:ページ・タイトルは、シート名と同一とする各シートのA1セルに、ページ・タイトルを表示する当然、シート名を変えたときは自動的に追随するものとします。Subシートごとに、A1セルの値を設定しているだけです。シート名は、Excelの関数cell()から得ています。cell関数を使用しているため、シート名を変更したときは、自動的にタイトルも変わります。わかりにくい点として、ダブル・クォート(”)が4つ、連続して書かれている箇所があります。これは、文字列としてのダブル・クォートです。目次を自動生成するここでは、以下のような仕様で行こうと思います。用意し、このセルから下に向かってページ・タイトルを羅列していく羅列されたページ・タイトルをクリックすると、そのシートにとぶこれらは、以下のようなコードで実現されます。Sub注意としては、セルの名前:TITLE_LISTINGは自分で定義すること。このマクロを実行すると、目次シートのTITLE_LISTINGセルから下に向かって、ページ・タイトルがずらっと表示されると思います。各ページ・タイトルは、HYPERLINK関数を利用して表示されているので、クリックすると、実際のページに飛びます。わかりにくい点として、ダブル・クォートでかこまれたシングルクォートがあると思います。これはなぜ必要か?シート名によっては、参照がうまくできなくなる場合があるからです。(ハイフンを含んだシート名=ページ・タイトルで試してみて。)HYPERLINK関数の仕様です。お好みで、この目次ページに「更新」ボタンなどを定義し、押下したらmake_contents()が実行されるようにしたらよいでしょう。テキストで入力された日付を、日付値に変換する方法。