Google Spread Sheet(GAP)にて、
下記のコードだと、
列52、3行目にチェックが入ると
3行目のみ非表示となります。
これを連番(列52、4行目以降)にもチェックが入ると、
その行が表示になるようにしたいです。
(例. 列52、4行目にチェックが入る→4行目非表示
列52、5行目にチェックが入る→5行目非表示
列52、6行目にch・・・)
var CHECKBOX_COLUMN = 52; // チェックボックスの列 var CHECKBOX_COUNT = 1; // チェックボックスの数 var HIDDEN_FIELD_START = 3; // 何行目から消すのか var HIDDEN_FIELD_END = 3; // 何行目まで消すのか // スプレッドシートの値が変更された時に発火 function changeEvent() { var sheet = SpreadsheetApp.getActiveSheet(); var activeCell = sheet.getActiveCell(); if (activeCell.getColumn() == CHECKBOX_COLUMN){ // チェックボックス列の値が変更された場合 checkBoxEvent(sheet); } } // チェックボックスのチェック状態に合わせて表示・非表示を切り替える function checkBoxEvent(sheet) { var rows = sheet.getRange(1, CHECKBOX_COLUMN, CHECKBOX_COUNT, 1).getValues(); hiddenFields(sheet); for (var i = 0; i < rows.length; i++) { if (rows[i][0] === true) { var showRows = sheet.getRange(i + 1, CHECKBOX_COLUMN + 1).getValue().split(','); for (var j = 0; j < showRows.length; j++) { sheet.showRows(showRows[j]); // チェックボックスの1個右のセルの値に記載されている行数を表示する } } } } // 非表示行エリアを全非表示にする function hiddenFields(sheet) { sheet.hideRows(HIDDEN_FIELD_START, HIDDEN_FIELD_END - HIDDEN_FIELD_START + 1); }
変数設定と、functionの設定方法を皆様にお伺いしたいです。
ご不明点等ございましたらお気軽にお尋ねください。
お手数おかけいたしますが、
宜しくお願い致します。
あなたの回答
tips
プレビュー