Home > Software design >  Appscript IF statement with multiple conditions
Appscript IF statement with multiple conditions

Time:12-08

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") {
  • Related