「StiLL」 デザイン情報287 コマンド -- 入力内容によって、以降のセル入力順を変える方法
                             
  【テーマ】
セルへの入力中、区分・条件などにより、以降の入力の順番を変更する方法を紹介します。
    【方法】
数式による入力範囲の作成を行い、「セル入力順設定(BtEntry)」ボタンで指定します。
  【参考】
「条件付き書式」やセルのロックなどを行うと、さらに入力画面の完成度が上がります。
 
           
                             
■ 今回の内容   
StiLLボタン「セル入力順設定(BtEntry)」では、セルへの入力順を制御することができますが、
入力した内容によっては、それ以降の入力範囲を飛ばしたり、変更したいことがあります。
今回は会員登録の「支払方法(口座振替または振込)」を例に、その手順を紹介します。
【イメージ】:会員登録の入力画面例
■ 考え方・条件
入力順の変更は、「支払方法」のボタンをクリック(選択)した時に行います。
口座振替・振込、どちらを選んだかは、オプションボタンをセルにリンクさせることで判別します。
リンクさせたセルを元に、入力範囲が変わる数式を作成し、StiLLボタンで参照します。
■ 作成手順
手順1:入力範囲の作成
上記イメージ@〜B部分のセル範囲を任意のセルに作成します。
例では、シート名「登録画面」とし、B列の各項目の先頭セルに作成するものとします。
セル B7:登録画面!F7:F11(@のセル範囲)
セルB15:登録画面!F15:F20(Aのセル範囲)
セルB22:登録画面!F22:F25(Bのセル範囲)
手順2:支払方法ボタンをセルとリンク
支払方法の「オプションボタン」を右クリック→「コントロールの書式設定」→「コントロール」タブを開き
「リンクするセル」欄でセル(例ではC13セル)とリンクします。
※ リンクさせたセルC13は、シートを保護すると、選択時エラーになりますので、
「セルの書式設定」でセルのロックを解除してください。
手順3:A範囲を数式で変わるようにする
手順1で作成したセルB15の内容を、セルC13を参照して表示・非表示になる数式へ変更します。
セルB15の数式:=IF(C13=2,"","登録画面!F15:F20")
手順4:B列の入力範囲を結合
B列に作成した入力範囲をカンマで区切り、一つのセルに統合します。
例では、B27セルに作成するものとします。
セルB27の数式:=TEXTJOIN(",",TRUE,B7:B25)
※ TEXTJOIN関数は「Excel2019」から実装された関数です。
それ以前のEXCELで使用する場合は、StiLLのオリジナル関数「S_CONNECT」でも同様の事ができます。
StiLL関数の数式:=S_CONNECT(B7:B25,",")
以上で、セルB27に画面全体の入力範囲が表示される仕組みができました。
■ StiLLボタンの設定方法
支払方法欄で作成した「口座振替・振込」オプションボタンに、入力順を設定する機能を割当てます。
各ボタンを選択状態にし、「StiLLボタン機能設定」を選択します。
機能設定一覧から「セル入力順設定」を選択します。
「入力範囲1」項目に手順4で作成したセルB27を参照させます。
!ポイント
「登録画面!B27」だと、そのセルが入力範囲になってしまいますので、
前後に"|"記号を入れ、セル値(このセルに表示されている内容)を参照するようにします。
最後にB〜D列を非表示にして、完成となります。
「口座振替・振込」をそれぞれクリックし、Enterキー押下後にそれぞれの入力順が変わる事をご確認ください。
※最初の入力自体は、別途「入力順設定」ボタンで開始するようにしてください。
■ ご参考までに
入力不要となる項目の色を「条件付き書式」でグレーにしたり、
「セルの書式設定(BtSetFormat)」ボタンで不要範囲のセルにロックをかけて、入力自体を不可にすると、
さらに入力画面としての完成度が上がります。
(各ボタンの設定内容の詳細はStiLLヘルプをご確認ください)  
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます