「StiLL」 デザイン情報171 StiLLコマンド--入力セルにデータを入れる際サイに便利ベンリな3機能キノウ
           
                             
  【テーマ】 入力画面などで、入力セルに値アタイを入れたい時に便利なStiLLの機能キノウが3つあります。
それぞれの機能を使って入力画面に値を入れる方法を、メリット・デメリットを含めご紹介します。
    【方法1】 「BtSetMultiCell」 は、一度イチドに複数のセルに値を入イれられる便利な機能キノウです。
【方法2】 入れるセルが少スクない場合や、同じ値を複数セルに入れたい場合には「BtSetValue」 も使用シヨウできます。
    【方法3】 データを入れるセルが多く 「BtSetMultiCell」 では時間がかかってしまう場合は 「BtCellCopy」 を使用する方法ホウホウもあります。  
  対応Ver. :StiLL-�] Ver 1.0 以降
対応種類:StiLL Dev・Pro・Std
    対応Ver. :StiLL-�] Ver 1.0 以降
対応種類:StiLL Dev・Pro・Std
    対応Ver. :StiLL-�] Ver 1.0 以降
対応種類:StiLL Dev・Pro・Std
 
                             
■ 今回コンカイの内容ナイヨウ                          
入力ニュウリョク画面ガメンなどで、入力ニュウリョクセルに値アタイを入れたい時トキに便利ベンリなStiLLの機能キノウが3つあります。
   「BtSetMultiCell」 ・・・ 入力範囲の値を出力範囲にセットする
   「BtSetValue」  ・・・・・ セルに値をセットする
   「BtCellCopy」  ・・・・・ コピー元範囲のデータをコピー先セル位置にコピー
それぞれの機能を使って入力ニュウリョクセルに値アタイを入れる方法ホウホウを、メリット・デメリットを含フクめご紹介ショウカイします。
以下イカの図ズのように、データ取得用のシートに取得シュトクしたレコードの値アタイを、データ編集ヘンシュウ画面ガメンのデータ入力ニュウリョクセルに入れる例レイでご説明セツメイします。
データ取得シュトク用ヨウのシート(シート名メイ:DLDATA)
データ編集ヘンシュウ画面ガメン用ヨウシート(シート名メイ:編集ヘンシュウ画面ガメン)
■ 「BtSetMultiCell」 を使ツカう方法ホウホウ                        
上ウエのような例レイの場合バアイは、「BtSetMultiCell」 を使ツカう方法ホウホウが便利です。
設定セッテイ例レイ(StiLLボタン)
◆メリット
    [入力範囲] と [出力範囲] のセルの数が一致していれば、1つのボタンで複数セルを指定できます。
    カンマ区切クギりで離ハナれたセル範囲ハンイの指定シテイも可能カノウですので、3つ以上イジョウの範囲ハンイも指定シテイすることができます。
    値アタイを入れるシートにシート保護ホゴがかかっていても、入力ニュウリョクするセルのロックが解除されていればボタンを実行ジッコウできます。
◆デメリット
    値アタイを入れる範囲が多くなればなるほど処理ショリスピードが遅オソくなります。
また 「BtSetMultiCell」 の活用カツヨウ方法ホウホウの詳細ショウサイについては以下イカのバックナンバーでもご紹介していますので、ぜひご参考ください。
「StiLL」デザイン情報161 StiLLコマンド-- 「BtSetMultiCell」 で複数のセルに値をセット
■ 「BtSetValue」 を使う方法                        
値アタイを入れるセルが少スクない場合や、同じ値を複数セルに入れたい場合には 「BtSetValue」 を使ツカうこともできます。
設定セッテイ例レイ(セルリンクボタン)
           ※ ご参考サンコウまでに(セルの値アタイを参照サンショウする数式スウシキについて)
空のセルを参照サンショウする時トキに、「0」 と表示ヒョウジされるのを防フセぐには
「""(空文字)」 を連結レンケツします。
ただし、数値スウチと空カラ文字モジを連結レンケツすると文字列扱いになるので、
数値スウチのまま表示ヒョウジしたい場合バアイは以下の例レイのように
IF文を使用してください。
  =IF(DLDATA!H3="","",DLDATA!H3)
◆メリット
    値アタイを入れるシートにシート保護ホゴがかかっていても、入力ニュウリョクするセルのロックが解除されていればボタンを実行ジッコウできます。
    カンマ区切クギりで同一ドウイツシート内ナイの離ハナれたセル範囲ハンイの指定シテイも可能カノウです。(例:編集画面!H9,P9)
    セット値チに 「%TODAY%」 と設定セッテイすると現在の日付をセットできます。(現在の日時ニチジは 「%NOW%」)
◆デメリット
    セット値チを1つしか指定シテイできないので、複数フクスウの値アタイを入れたい場合バアイはその数カズ分ブン 「BtSetValue」 ボタンが必要になります。
    StiLLボタンの場合バアイ、セット値チをセル参照サンショウ指定シテイすることはできませんので、セルリンクボタンをお使ツカいください。
■ 「BtCellCopy」 を使う方法                        
データを入れるセルが多オオく 「BtSetMultiCell」 や 「BtSetValue」 では時間ジカンがかかってしまう場合バアイ、
「BtCellCopy」 を使ツカって値アタイをコピーする方法ホウホウがあります。
まず、入力画面と同オナじセルの構成コウセイのコピー元モト用ヨウのシート 「コピー元モト」シート を用意ヨウイし、値アタイを入れるセルに数式で
DLDATAシートのデータが表示ヒョウジされるようにします。
そして 「BtCellCopy」 で 「コピー元」シート のデータを 「入力画面」シート に値アタイコピーするよう設定セッテイします。
「貼ハり付ツけデータ種類シュルイ」 は結合ケツゴウセルが無ナければ 「Values」 でもよいですが、
結合セルがある場合は 「All/OutValues」 にしてください。
  ※ 「貼り付けデータ種類」 の 「All/OutValues」 はセルリンクボタンでのみ設定できます
設定セッテイ例レイ(セルリンクボタン)
◆メリット
    コピーする範囲ハンイが多い場合、 「BtSetMultiCell」 や 「BtSetValue」 で値を入れるよりは処理スピードが比較的ヒカクテキ速ハヤくなります。
◆デメリット
    コピー先サキのシートにシート保護ホゴが設定セッテイされていると 「BtCellCopy」 を実行ジッコウできません。
    「コピー元モト範囲ハンイ」 や 「コピー先サキセル位置イチ」 に、カンマ区切クギりで離ハナれたセル範囲ハンイの指定シテイすることはできません。
■ まとめ                            
今回コンカイご紹介ショウカイした3種類シュルイの方法ホウホウを状況ジョウキョウに応オウじて使ツカい分ワけてご活用カツヨウください。
値アタイを入れるセルが少スクない、または今日キョウの日付ヒヅケやある数式スウシキの計算ケイサン結果ケッカを入れたい ・・・ 「BtSetValue」
複数フクスウセルに一度イチドに入れたい ・・・ 「BtSetMultiCell」
値を入れるセルがかなり多く、「BtSetMultiCell」 では時間ジカンがかかりすぎてしまう ・・・ 「BtCellCopy」
■ ご参考サンコウまでに                          
「BtSetValue」 や 「BtCellCopy」を使ツカう方法ホウホウですと、 DLDATAシートのデータをExcel関数カンスウを使ツカい変換ヘンカンして
表示ヒョウジ画面ガメンに入イれることもできます。
以下の図ズはVLOOKUP関数とIFERROR関数カンスウを使用シヨウし、DLDATAシートのコードを名称メイショウに変換ヘンカンして表示ヒョウジするような例レイです。
 ◇ BtSetValue
 ◇ BtCellCopy
(各ボタンの設定内容の詳細はStiLLヘルプをご確認ください)
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます