I have a onEdit code that moves rows if the checkbox on the start page is marked as true, the row is moved to another sheet and a timestamp is registered in the last column. I need to add another condition that searches in the fith column for the string "CORRETIVA", and if it finds it, it transports the row to another page that isn't the first one.
function onEdit(event) { // COD ATUALIZADO 22/11/22
var ss = SpreadsheetApp.getActiveSpreadsheet(); // Ativa planilha
var s = event.source.getActiveSheet(); // Página origem do evento
var r = event.source.getActiveRange(); // Página fim do evento
if(s.getName() == "EQUIPAMENTOS NO LABORATÓRIO" && r.getColumn() == 1 && r.getValue() == true) { // Se condições OK(IDA)
var row = r.getRow(); // Pega a linha
var numColumns = s.getLastColumn(); // Número de colunas
var targetSheet = ss.getSheetByName("EQUIPAMENTOS PARA CORRETIVA"); // Planilha alvo
var target = targetSheet.getRange(targetSheet.getLastRow() 1, 1); // Local alvo
s.getRange(row, 1, 1, numColumns).moveTo(target); // Insere no local alvo
s.deleteRow(row); // Exclui a origem
target.offset(0, numColumns).setValue(new Date()); // Inclui a data pós checkbox
} else if(s.getName() == "EQUIPAMENTOS LIBERADOS" && r.getColumn() == 1 && r.getValue() == false) { // Se condições OK(VOLTA)
var row = r.getRow(); // Pega a linha
var numColumns = s.getLastColumn(); // Número de colunas
var targetSheet = ss.getSheetByName("EQUIPAMENTOS NO LABORATÓRIO"); // Planilha alvo
var target = targetSheet.getRange(targetSheet.getLastRow() 1, 1); // Local alvo
s.getRange(row, 1, 1, numColumns).moveTo(target); // Insere no local alvo
s.deleteRow(row); // Exclui a origem
}
}
CodePudding user response:
First move the definition of "var row = r.getRow()" outside of your IF statement, and then you can try with this:
if(s.getName() == "EQUIPAMENTOS NO LABORATÓRIO" && r.getColumn() == 1 && r.getValue() == true && s.getRange(row,5).getValue() == "CORRETIVA") {