カレンダーと未入力を両立する

このサンプルでは、カレンダーコントロールのセットされたセルと、日付を表示するセルを連動させることで、
カレンダーコントロールを利用しつつ、未入力状態にできるよう設定しています。
選択時
../../../../_images/img_01306.png
選択結果
../../../../_images/img_02262.png

日付を入力するセルと、カレンダーコントロールを作成する

1. シートに日付入力欄とカレンダーコントロールを作成します。
../../../../_images/img_03192.png
[1] 日付入力欄
日付を入力します。
値が変更された際に「日付入力」アクションセットが実行されます。
[2] カレンダーコントロール
カレンダーコントロールが削除されないよう入力を禁止し、
セルの塗りつぶしとフォントカラーを揃え、文字を見えなくしています。
また、値が変更された際に「カレンダー選択」アクションセットが実行されます。
2.アクションセットを作成し、セルと関連付けます。
../../../../_images/img_04161.png
[1] 「日付入力」アクションセット
「日付入力欄」の値を判別し、右隣の「カレンダーコントロール」に適用します。
[2] 「カレンダー選択」アクションセット
シートにセットされた「カレンダーコントロール」によって選択された日付を、
左隣の「日付入力欄」セットします。

入力された日付を判別し、カレンダーコントロールに適用する

日付入力欄に値がセットされた際、UTIL.ISDATE 関数で判別可能な日付形式であれば、
右隣のセルにセットされたカレンダーコントロールにも同じ日付を適用します。

UTIL.ISDATE 関数で日付として判別できない YYYYMMDD 形式や YYMMDD 形式が入力された場合、
判別可能な YYYY-MM-DD 形式に変換することで再度同じアクションセットを実行しています。

また、値が削除された場合と、日付ではない値が入力された場合、カレンダーコントロールを初期値にクリアしています。
../../../../_images/img_05144.png

カレンダーコントロールで選択された日付を、日付入力欄にコピーする

カレンダーコントロールの値を「日付入力欄」にセットしています。
../../../../_images/img_06113.png