При попытке запустить приведенный ниже скрипт появляется следующее сообщение.
Моя цель состоит в том, чтобы каждая новая строка из «проверенного» листа дублировалась для следующего «обработки» листа после того, как пользователь выбрал «одобрить» из раскрывающегося списка в столбце L. А также удалить из исходной (проверенной) электронной таблицы как только он перешел к «обработке»
function copyrange() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('VALIDATED'); //source sheet
var testrange = sheet.getRange('L:L'); //range to check
var testvalue = (testrange.getValues());
var csh = ss.getSheetByName('PROCESSING'); //destination sheet
var data = [];
var j =[];
//Condition check in L:L; If true copy the same row to data array
for (i=0; i<testvalue.length;i++) {
if ( testvalue[i] == 'Approved') {
data.push.apply(data,sheet.getRange(i+1,1,1,25).getValues());
//Copy matched ROW numbers to j
j.push(i);
}
}
//Copy data array to destination sheet
csh.getRange(csh.getLastRow()+1,1,data.length,data[0].length).setValues(data);
//Delete matched rows in the source sheet
for (i=0;i<j.length;i++){
var k = j[i]+1;
sheet.deleteRow(k);
//Alter j to account for deleted rows
if (!(i == j.length-1)) {
j[i+1] = j[i+1]-i-1;
}
}
}