Как переместить строку на другой лист, если значение в столбце 11 = Да с помощью Google Script - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть сводка на листе 2 («Участники»), которая подается из формы на листе 1 («Прием»). После того как задача была обновлена ​​и завершена, на листе 1 установлено значение «Да», а затем на листе 2 сохранено значение «auto», я хотел бы запустить сценарий для перемещения строки из «Участники» в «Архив», если установлено значение, обновленное в разделе «Прием для выполненных». да. На самом деле, чтобы заставить его работать, я помещаю кнопку со скриптом в «члены», и я должен быть помещен в ячейку со значением «Да», чтобы переместить строку в «Архив» ... Я хочу, чтобы она была автоматизирована ..

Можете ли вы помочь мне?

Вот сценарий, который я использую:

// callFunctionB() cause i use onEdit(e) { callFunctionA(e);callFunctionB(e) }

function callFunctionB(e) {

 var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getActiveSheet();
  var r = s.getActiveRange();
  if(s.getName() == "Members" && r.getColumn() == 11 && r.getValue() == 'Yes') {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Archive");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).moveTo(target);
    s.deleteRow(row);
}

1 Ответ

1 голос
/ 14 апреля 2020
function callB(e) {
  var s=e.range.getSheet();
  if(s.getName()=="Members" && e.range.columnStart==11 && e.value=='Yes') {
    e.source.getSheetByName("Archive").appendRow(s.getRange(e.range.rowStart,1,1,s.getLastColumn()).getValues()[0]);
    s.deleteRow(e.range.rowStart);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...