| 「StiLL」 デザイン情報180 StiLLコマンド--他のブックシートのデータ範囲を取得する | ||||||||||||||||||||||
| 【テーマ】 他のブックシートのデータ量(行)を知りたいときなど、使用されているデータ範囲を取得する例をご紹介します。 | 【方法】「指定範囲に名前を定義(BtOffsetName)」セルリンクボタンで現在データが入力されている範囲を知ることができます。なおデータ範囲を取得する他のブックを「指定のブック、シートを選択(BtBookActive)」セルリンクボタンでアクティブにしておく必要があります。 | 【参考】サンプル例をご用意しておりますのであわせてご参照ください。 | ||||||||||||||||||||
| 対応Ver. :StiLL-XV1.0
以降 対応種類:StiLL Dev・Pro |
対応Ver. :StiLL-XV1.0
以降 対応種類:StiLL Dev・Pro |
対応Ver. :StiLL-XV1.0
以降 対応種類:StiLL Dev・Pro |
||||||||||||||||||||
| ■ 今回の内容 | ||||||||||||||||||||||
| 他のブックシートのデータ範囲を取得する例をご紹介します。 | ||||||||||||||||||||||
| 下図のような会員台帳リストの明細データ範囲を取得します。 | ||||||||||||||||||||||
|
||||||||||||||||||||||
| サンプル例をご用意しておりますのでご参照ください。 | ||||||||||||||||||||||
| 今回の全体図を示します。 | ||||||||||||||||||||||
| ※設定する項目は図の一番上にある黄色のセル範囲となります。(下線より下の設定値は変更しません) | ||||||||||||||||||||||
|
||||||||||||||||||||||
| ■ ボタンの説明 | ||||||||||||||||||||||
| 【図の下線部より下のボタンと式について説明します】 | ||||||||||||||||||||||
| ・@特定のブック、シートを選択(BtBookActive) | ||||||||||||||||||||||
| このボタンで対象ブック(ファイル)をアクティブにします。 | ||||||||||||||||||||||
| 1. ブック名はセルD19 を参照 | ||||||||||||||||||||||
| 2. シート名はセルD20 を参照 | ||||||||||||||||||||||
| ・A新規ブックへシートをコピーする(BtBookNewCopy) | ||||||||||||||||||||||
| このボタンで対象シートを新規ブックにコピーします。 | ||||||||||||||||||||||
| 1. 選択シート名1はセルD32 を参照 | ||||||||||||||||||||||
| コピーしたブックのシートをダミーシートとすることで、B以降の処理では実際の対象ファイルには | ||||||||||||||||||||||
| 範囲名等の痕跡を残さずにデータ範囲を取得することができます。 | ||||||||||||||||||||||
| ・B指定範囲に名前を定義(BtOffsetName) | ||||||||||||||||||||||
| このボタンでAのダミーシートのデータ範囲を出力することができます。 | ||||||||||||||||||||||
| 出力するセル位置はセルA1(固定)としています。 | ||||||||||||||||||||||
| 1. 範囲はセルD32とD21 を参照 | ||||||||||||||||||||||
| 2. 列数はセルD22 を参照 | ||||||||||||||||||||||
| 3. 範囲出力位置はセルD32 を参照 | ||||||||||||||||||||||
| ・Cコピー元範囲のデータをコピー先セル位置にコピー(BtCellCopy) | ||||||||||||||||||||||
| このボタンでダミーシートのセルA1 に出力されたデータ領域を「範囲出力位置」(黄色)に指定されたセルにコピーします。 | ||||||||||||||||||||||
| この結果、ダミーシートの情報が本処理を行っている ex181sms.xlsx に出力されます。 | ||||||||||||||||||||||
| 1. コピー元範囲はセルN37 を参照 | ||||||||||||||||||||||
| 2. コピー先セル位置はセルD23 を参照 | ||||||||||||||||||||||
| ・D指定ブックを閉じる(BtClose) | ||||||||||||||||||||||
| このボタンでダミーブックを閉じます。 | ||||||||||||||||||||||
| 1. BookQuit(保存しないで閉じる)のオプションで閉じています。 | ||||||||||||||||||||||
| ・Eコピー元範囲のデータをコピー先セル位置にコピー(BtCellCopy) | ||||||||||||||||||||||
| このボタンでFで算出された最終行番号を「最終行番号出力位置」(黄色)に指定されたセルにコピーします。 | ||||||||||||||||||||||
| 1. コピー元範囲はセルD4とS52 を参照 | ||||||||||||||||||||||
| 2. コピー先セル位置はセルD24 を参照 | ||||||||||||||||||||||
| ・F最終行番号の算出式 | ||||||||||||||||||||||
| ここでは以下の式を設定しています。 | ||||||||||||||||||||||
| 1. セルR52 には以下の式が設定されています。 | ||||||||||||||||||||||
| =SUBSTITUTE(INDIRECT(D23),D32&"!","") | ||||||||||||||||||||||
| この式で「対象シート名」(黄色)に指定されたシート名を除外しています。 | ||||||||||||||||||||||
| 2. セルS52 には以下の式が設定されています。 | ||||||||||||||||||||||
| =IFERROR(ROWS(INDIRECT(R52))+ROW(INDIRECT(R52))-1,"") | ||||||||||||||||||||||
| この式でデータ範囲の最終行番号を算出します。 | ||||||||||||||||||||||
| 以上のようなボタン構成で対象シートのデータ範囲と最終行番号を取得できます。 | ||||||||||||||||||||||
| 一見複雑そうですが、変更する箇所が限られていますので応用しやすいかと思います。 | ||||||||||||||||||||||
| 実行後、下図のように現在のデータ範囲と最終行番号が指定されたセルに出力されます。(○印) | ||||||||||||||||||||||
|
||||||||||||||||||||||
| ■ ご参考までに | ||||||||||||||||||||||
| 1.全て空欄のシートを指定した場合でも1行目をデータ範囲として最終行番号には1が返されます。 | ||||||||||||||||||||||
| 2.出力された最終行番号を使って対象シートのリストにデータを追加する処理を作成することが可能です。 | ||||||||||||||||||||||
| サンプル例をご用意しておりますのでご参照ください。 | ||||||||||||||||||||||
| (各ボタンの設定内容の詳細はStiLLヘルプをご確認ください) | ||||||||||||||||||||||
| Copyright(C) アイエルアイ総合研究所 無断転載を禁じます | ||||||||||||||||||||||