アクションでボタンを動的に追加する

データ数やログインユーザーのグループなどに応じて動的にボタンを配置したい場合、アクションを使ってボタンを配置することができます。
例として、データ数に応じた「詳細」ボタンを自動的に配置するアクションについて説明します。
../../../_images/img_01361.png

データを取得する

  1. 以下のようなデータを取得するアクションセットを作成します。ここでは、シート表示時に実行されるように設定しておきます。
../../../_images/img_02297.png

データ件数に応じて「詳細」ボタンを設定する

データを取得する にて作成したアクションにて取得されるデータの件数分「詳細」ボタンを配置します。

  1. 「詳細」ボタンを1つ作成しておきます。
../../../_images/img_03218.png
  1. 作成した「詳細」ボタンの式をコピーします。
../../../_images/img_04178.png
  1. データを取得する にて作成したアクションに、以下のアクションを加えます。
  • 「ボタンを配置する行」をセルにセットするアクション
  • 「データ数分のボタンをセルに配置する」繰り返しアクション
../../../_images/img_05161.png

繰り返しアクションの条件には、セルにセットしたボタンを配置する行が設定されたセルを参照し、INDIRECT 関数を用いて「データ取得によって設定されたセルの値がなくなるまで」という条件を設定します。

ちなみに

CELF には、行番号と列番号(番号または列名)を指定しセルの値を取得するユーティリティ関数(UTIL.CELLV 関数)が用意されています。
UTIL.CELLV 関数を使って、以下のようにセルを参照することもできます。
../../../_images/img_1545.png
  1. 3 で作成した繰り返しアクション中にボタンを配置するためのアクションを加えます。
  • 「ボタンの式」をセルにセットするアクション(2 でコピーしておいた「詳細」ボタンの式)
  • 「ボタンを配置する行」を設定しているセルに +1 カウントをアップするアクション
../../../_images/img_06124.png

ヒント

アクションで数式をセットする場合は、全体を”(ダブルクォート)で囲って、「=”数式”」という形で指定します。文字列の中に”(ダブルクォート)を含める場合は、「””」のように”(ダブルクォート)を2つ続けて記述する必要があります。

../../../_images/img_1450.png

参考

SUM、VLOOKUP、COUNTIFなどの数式を動的に設定する方法については、 アクションで数式をセットする を参照してください。

  1. テスト実行 して、ボタンがデータ分配置されることを確認します。
../../../_images/img_0899.png

「詳細」ボタンのアクションを設定する

データ件数に応じて「詳細」ボタンを設定する にて作成した「詳細」ボタンのアクションを作成します。
ここでは、データのIDを検索条件としてデータを1件取得して、その内容をポップアップで表示させます。
../../../_images/img_0983.png
  1. ボタンがクリックされた行の B列(ID) の値を検索条件として1件データを取得し、データをセルにセットします。
../../../_images/img_1074.png

参考

ボタンがクリックされた行の取得方法については 処理中に現在行または列を取得する を参照してください。

  1. 取得した値を参照して、ポップアップで表示するアクションを作成します。
../../../_images/img_1168.png

作業用のセルを非表示にする

最後に作業用のセルの列を非表示にしておきます。

../../../_images/img_1261.png

ちなみに

実行するとシートを開いたタイミングでデータとボタンが配置され、「詳細」ボタンをクリックすると詳細情報がポップアップされるようになります。

../../../_images/img_1355.png

参考


※動画内の画面は最新バージョンの CELF とは異なる場合があります。
※動画に音声はついていません。

関連キーワード

コントロール、リスト、チェックボタン、BUTTON、LIST、CHECK