If операторы в скрипте Google для перемещения данных на другой лист на основе изменения в одной ячейке и значения в другой - PullRequest
0 голосов
/ 22 сентября 2018

ОК, я довольно новичок в этом.У меня есть таблица Google, которую я заполняю, а затем запускаю сценарий для создания форм, созданных для выполнения задач.Мои конечные пользователи отмечают задачу как выполненную.Я хочу, чтобы записи в электронной таблице поменялись на «да» и «Проверить задачи» для копирования на другой лист («Журнал»).Я могу получить записи для копирования, если у меня просто есть наблюдатель для yes, но у меня возникают проблемы с добавлением другого оператора if для задачи.Вот что у меня есть для теста ...

function onChange() {
  // moves a row from any sheet to an archive sheet when a magic value is entered in a column
  var columnNumberToWatch = /* column D */ 4; // column A = 1, B = 2, etc.
  var valueToWatch = "yes";
  var sheetNameToMoveTheRowTo = "LOG";

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Sheet2");
  var cell = sheet.getActiveCell();

  if ( sheet.getName() != sheetNameToMoveTheRowTo && cell.getColumn() == columnNumberToWatch
      && cell.getValue().toLowerCase() == valueToWatch) {
    if (cell.getColumn() == 2 && cell.getValue() == "Validate") {  
      var targetSheet = ss.getSheetByName(sheetNameToMoveTheRowTo);
      var targetRange = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
      sheet.getRange(cell.getRow(), 1, 1,  sheet.getLastColumn())
        .copyTo(targetRange);
    }
  }
}

1 Ответ

0 голосов
/ 22 сентября 2018

Похоже, вы пытаетесь просмотреть два разных местоположения с одной и той же переменной cell.Вы начинаете с инициализации cell в качестве активной ячейки, затем проверяете, что столбец # 4, затем во втором операторе if вы используете cell до getColumn 2.

Возможно, создайте новыйнабор переменных для проверки:

var activeRow=cell.getRow();
var valCheck=sheet.getRange(activeRow, 2);

, тогда оператор if изменится на:

if (valCheck.getValue() == "Validate") {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...