ingrese la descripción de la imagen aquí . Tengo el siguiente código funcionando en el script de aplicaciones. Hace lo que se supone que debe hacer al archivar automáticamente y eliminar las filas cuando se selecciona una casilla de verificación. El único inconveniente es que está archivando las filas en la parte inferior de la hoja de archivo, no justo debajo de la última fila archivada. Omite muchas filas en blanco por alguna razón.
function onEdit(e) { const sh = e.range.getSheet(); if (sh.getName() == "ACTIVITY REPORT" && e.range.columnStart == 1 && e.value == "TRUE") { var tsh = e.source.getSheetByName("Archive"); var target = tsh.getRange(tsh.getLastRow() + 1, 1); sh.getRange(e.range.rowStart, 1, 1, sh.getLastColumn()).moveTo(target); } if (sh.getName() == 'Archive' && e.range.rowStart > 1 && e.range.columnStart == 11 && (e.value == 'NP CND A ACCEPTED' || e.value == 'NP BACKGROUND')) { SpreadsheetApp.flush(); e.range.offset(0, 16).setValue(new Date()); } if (sh.getName() == 'Archive' && e.range.rowStart > 1 && e.range.columnStart == 11) { let ops = ['NP CND A ACCEPTED', 'NP BACKGROUND', 'HIRED INTERN-SP', 'HIRED SDR- SP', 'HIRED', 'HIRED INTERN', 'HIRED SDR', 'HIRED SDR', 'NP AS', 'NP LDR', 'NP CND A AR', 'NP CND A OFFER', 'NO SHOW', 'NP ORL', 'NP CND A Zoom Int', 'NP CND A 1 FL']; if (~ops.indexOf(e.value)) { e.range.offset(0, 14).setValue(new Date()); } } }