「StiLL」 デザイン情報196 StiLLコマンド--ブックのシート一覧表とシート移動セルを作成する
           
                             
  【テーマ】 ブックの中でシートが増えてきた場合、目的のシートを探して開くのが大変なのでシート一覧表を作成して目的シートに1クリックで移動したいと思いませんか?
今回はその方法をご紹介します。
    【方法】
@ まずブック内のシート名を取得します。A 取得した各シート名のHYPERLINKを作成します。B この流れをセルリンクボタン「BtPasteSheetName」「BtSetValue」及びExcel関数の組み合わせで実現します。
    【参考】 ブック内のシートへジャンプするには「DialogJump(シート一覧)」というStiLLボタンがありますが、今回はHYPERLINKを使うとこの様な作り方になるというご紹介です。  
  対応種類:StiLL Dev・Pro     対応種類:StiLL Dev・Pro     対応種類:StiLL Dev・Pro  
                             
■ 今回の内容                          
ブック内の全てのシート名を取得する処理、及び、生成したHYPERLINK関数式のコピーをご紹介します。
セルリンクボタン「BtPasteSheetName(指定出力位置にアクティブブック内のシート名を抽出)」と、
セルリンクボタン「BtSetValue(セルに値をセットする)」を下図のように組合わせて作成します。
  
■ 各ボタンの説明                          
1.@のセルリンクボタン「BtPasteSheetName」でブック内にあるシート名を取得します。
   今回の例では[抽出シート形式]にALL(ワークシート、グラフシート、ピボットテーブルシート等)を指定してますが、
   ワークシート名のみ取得する場合は、空白にします。
2.[出力位置クリア]では空白以外の文字を入力すると、シート名が書かれる前に[出力位置]で指定したセルから
   下全てがクリアーされます。 (Ver.3以降の追加機能です)
3.@で作成した各シートに移動できる様にするには、Excel関数のHYPERLINKを使います。
   Aのセルリンクボタン「BtSetValue」でHYPERLINK関数を定義し、各シート名の右セルに式をセットする様にします。
   [セット値]は関数式をセットするため、先頭にシングルクォーテーションを付けます
   また、[対象範囲]では柔軟性をもたせるため、COUNTA関数も使っています。
4.今回のサンプルでは連続ボタンの説明は行っていませんが、BtPushを使えば1クリックで作成できます。
■ ご参考までに                          
1.HYPERLINK関数で、シート名の前に、「#」を記述するところがポイントです。
  「=HYPERLINK("シート名!A1","⇒")」としてしまうとエラーになります。
  HTMLと同様に、同じファイル内にリンクを張る時と同じ考えです。
2.実はこの様な作り方をしなくても、ブック内のシートへジャンプする「DialogJump(シート一覧)」というStiLLボタンがあります。
   このDialogJumpボタンを使えば1つのボタンで各シートにジャンプする事ができますが、今回はHYPERLINKを使って
   目次ページを作り、目次ページからジャンプさせるにはこの様な作り方もあるというご紹介です。
(各ボタンの設定内容の詳細はStiLLヘルプをご確認ください)  
(Excel関数の設定内容の詳細はExcelヘルプをご確認ください)  
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます