Попробуйте это так:
Первая проблема заключается в том, что вам нужен устанавливаемый триггер. Вы можете создать его вручную или с помощью программного обеспечения. Твой выбор. Вторая проблема заключается в том, что копия работает только в той же электронной таблице. Таким образом, вы можете использовать getValues () и setValues () вместо этого, как я сделал ниже:
function testonEdit(e) {
var sh=e.range.getSheet();
if(sh.getName()=='datasource') {
if(e.range.columnStart==22 && e.value=="OK"){
var dss=SpreadsheetApp.openById('11f9yyZZs5Ret6YoXinvne0eCXWWaXdj12t6MnrT43vM');
var dsh=dss.getSheetByName('datadestiny');
var v=sh.getRange(e.range.rowStart,1,1,2).getValues();
dsh.getRange(dsh.getLastRow(),1,v.length,v[0].length).setValues(v);
sh.deleteRow(e.range.rowStart);
}
}
}
Я немного изменил код в соответствии с моим тестированием. Я стараюсь поддерживать функции onEdit () как можно более легкими, потому что вы хотите, чтобы они были максимально быстрыми, потому что у вас есть только 30 секунд, чтобы выполнить их.