見出し画像

プログラミングを勉強します83日目:200628

前回までの振り返り
■前回の外部設計
https://note.com/daichan_dream/n/n09f74decd548
■前回の内部設計
https://note.com/daichan_dream/n/n09f74decd548
■アウトプットイメージ
https://note.com/daichan_dream/n/n2ab044382c9b

前回は下記サイトで学び直し30日目でした。
■前回は『並べ替え』を下記で学んでいきました。
https://excel-ubara.com/apps_script1/GAS030.html

今回は『入力規則』を学んでいきます。
https://excel-ubara.com/apps_script1/GAS031.html

色々な設定があるみたいですが載っていたコードに関して
読み解いていききます。
■数字の入力規則に関して

function mySample31_1() {
 var sheet = SpreadsheetApp.getActiveSheet();
 var rule = SpreadsheetApp.newDataValidation();
 rule.requireNumberBetween(1, 12);
 rule.setAllowInvalid(false);
 sheet.getRange(2, 1).clearDataValidations();
 sheet.getRange(2, 1).setDataValidation(rule);
}

var rule = SpreadsheetApp.newDataValidation()//で入力規則を以下で
設定することを宣言しています。
rule.requireNumberBetween(1, 12); //で入力規則を1-12でと設定します。
rule.setAllowInvalid(false); //で1-12以外の入力値に関しては
             受け付けないという設定ができます。
sheet.getRange(2, 1).clearDataValidations() //で以前に設定されている
入力規則があれば削除するようになっています。
sheet.getRange(2, 1).setDataValidation(rule)//でA2に作成済みの入力規則を
設定しています。
試しにA2セルに1-12以外の数字を入力すると下記のような警告が出ます。

キャプチャ

■ドロップダウンリストの入力規則(定数リストを使用)

function mySample31_2() {
 var sheet = SpreadsheetApp.getActiveSheet();
 var rule = SpreadsheetApp.newDataValidation();
 rule.requireValueInList(["A","B","O","AB"], true);
 sheet.getRange(2, 2).clearDataValidations();
 sheet.getRange(2, 2).setDataValidation(rule);
}

rule.requireValueInList(["A","B","O","AB"], true) 
//でリストの値を設定します。
以下は上記とほぼ同じです。違うのは設定するセルの位置が
B2であることです。
設定した結果は下記のような画像のようになります。

キャプチャ

■ドロップダウンリストの入力規則(セル範囲のリストを使用)

function mySample31_3() {
 var sheet = SpreadsheetApp.getActiveSheet();
 var rule = SpreadsheetApp.newDataValidation();
 rule.requireValueInRange(sheet.getRange(1, 6, 7, 1));
 sheet.getRange(2, 3).clearDataValidations();
 sheet.getRange(2, 3).setDataValidation(rule);
}

rule.requireValueInRange(sheet.getRange(1, 6, 7, 1))
//でF1-F7までの範囲に入力されたものに関してドロップダウンリストとして
設定するようにします。
先程との違いはGAS内でリストを設定するかセル上でするかの違いです。
それ以降は同じなのでC2にドロップダウンリストが設定されます。
設定されたものは下記になります。

キャプチャ

今日はここまでです。
次回は『グラフ作成』に関して学びます。
https://excel-ubara.com/apps_script1/GAS032.html

この記事が気に入ったらサポートをしてみませんか?