Есть рабочий скрипт, нужно добавить переменные - PullRequest
0 голосов
/ 31 мая 2018

У меня есть этот скрипт, который работает на моем листе Google.Когда значение в столбце b изменяется на указанное значение, вся строка перемещается на другой лист.Я хочу иметь возможность указать несколько значений, которые будут отправлять строки на определенный лист.Бонусом будет (если это просто) установить, где 1 или более переменных перемещают строку на лист 2, а 1 или более переменных перемещают строку на лист 3,

function onEdit() {
  // moves a row from a sheet to another when a magic value is entered in a column
  // adjust the following variables to fit your needs
  // see https://productforums.google.com/d/topic/docs/ehoCZjFPBao/discussion

  var sheetNameToWatch = "2018";
  var columnNumberToWatch = 2; // column A = 1, B = 2, etc.
  var valueToWatch = "Next Year";
  var sheetNameToMoveTheRowTo = "Archive";

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getActiveCell();


  if (sheet.getName() == sheetNameToWatch && range.getColumn() == columnNumberToWatch && range.getValue() == valueToWatch) {

    var targetSheet = ss.getSheetByName(sheetNameToMoveTheRowTo);
    var targetRange = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    sheet.getRange(range.getRow(), 1, 1, sheet.getLastColumn()).moveTo(targetRange);
    sheet.deleteRow(range.getRow());
  }
}

(Кредит: я не сделал 'не могу написать этот сценарий и не могу вспомнить, где я его нашел)

1 Ответ

0 голосов
/ 31 мая 2018

Измените эту строку

var valueToWatch = "Next Year";

на

var valuesToWatch = ["Next Year", "Last year"] //add values to array

и

if (sheet.getName() == sheetNameToWatch && range.getColumn() == columnNumberToWatch && range.getValue() == valueToWatch) {

на

if (sheet.getName() == sheetNameToWatch && range.getColumn() == columnNumberToWatch && valuesToWatch.indexOf(range.getValue())>-1) {

и посмотрите, работает ли это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...