1
私は以下のスクリプトを書いたので、自動的に新しい行が挿入され、その新しい行に式がコピーされます。Googleシート - 指定列/データ検証の最初の編集後に新しい行を追加する
私は、この機能を実行するには、列2または4に変更が加えられた場合にのみ実行するように指定しましたが、列番号に関係なく、またはe.oldValue ===未定義であるかどうかに関係なく実行されます。
つの質問:
1)それは列の数とデータの検証を無視しているというのが私のコードで間違って何をしているのですか?
2)セルに値が与えられて消去された場合、そのセルは未定義に戻るか、その値は現在 ""ですか? https://docs.google.com/spreadsheets/d/1m58J7vg_xfkrxK_9pxPSHAlBYULXbqNIiF8H2-KVBgE/edit#gid=1496977189
コード:
function onEdit(e) {
var sheet = SpreadsheetApp.getActiveSheet();
var activeCell = sheet.getActiveCell();
var activeColumn = activeCell.getColumn();
var walkoutRange = sheet.getRange(7, 17, 1);
var walkoutFormula = walkoutRange.getFormulas();
Logger.log(walkoutFormula);
var newRange = sheet.getRange((activeCell.getRow() + 1), 17, 1)
if (sheet.getName() != "Form") {
if (activeColumn === 2 || 4) {
if (e.oldValue === undefined) {
sheet.insertRowAfter(activeCell.getRow());
newRange.setFormula(walkoutFormula);
}
}
}
};
ありがとうございました! – thehamburglar