セルの値の更新時にアクションセットを実行する(応用編)¶
ここでは応用編として、1つのアクションセットで複数セルに対して値の変更があった場合を想定した対応方法について説明します。
- アクションセットの対象となるセルの複数選択方法
- 変更されたセルのセルアドレス取得方法
- 変更されたセルの値の取得方法
セルの値が変更された際に動作するアクションセットの対象となるセルを複数選択する¶
以下のサンプルでは、「名前」欄、または、「部署欄」に文字を入力して確定したタイミングで、共通のアクションセット「全角チェック」を実行します。
- セルの値が変更された際に動作するアクションセットの対象となるセルを複数選択して右クリックし、「アクション」メニューの「セル変更時にアクションセットを実行する」メニューを選択します。
- アクションセットを作成します。
変更されたセルのセルアドレスを取得する¶
アクションセットにて、変更されたセルの値を取得するため、セルアドレスの文字列を取得します。
変更されたセルのセルアドレス文字列は、ROW 関数、COLUMN 関数、および、ADDRESS 関数を用いて取得します。
ちなみに
例えば3行目の2列目のセルの値が変更された場合は、この関数により ”B3” というセルアドレスの文字列が取得できます。 アクションセット中での ROW 関数、または、COLUMN 関数の挙動については 処理中に現在行または列を取得する を参照してください。
変更されたセルの値を取得する¶
変更されたセルのセルアドレスを取得する にて作成した ADDRESS 関数で得られたセルアドレスからセルを参照します。 セルの値を参照をするには、INDIRECT 関数を使用します。
ちなみに
CELF には、行番号と列番号(番号または列名)を指定しセルの値を取得するユーティリティ関数(UTIL.CELLV 関数)が用意されています。
UTIL.CELLV 関数を使って、以下のようにセルの値を取得することもできます。
アクションセットを組み立てる¶
変更されたセルの値を取得する にて作成した INDIRECT 関数をアクションセットに組み込みます。
参考
入力された文字が全角かどうかの判定方法については 文字入力タイミングで文字のチェックをする にて紹介しています。
参考
※動画内の画面は最新バージョンの CELF とは異なる場合があります。
※動画に音声はついていません。