Как исправить функцию, которая копирует непреднамеренные строки - PullRequest
0 голосов
/ 24 мая 2019

Я новичок в JavaScript и написал скрипт, который предназначен для поиска в столбце A (помечен как «Status») статуса Complete, затем вырезал всю строку из этой вкладки и вставил ее в другую. вкладка. Существует четыре других статуса, которые можно выбрать с помощью проверки данных, включая «Новый». Это работало нормально до самого недавнего времени, когда скрипт также начал резать строки со статусом «Новый». Я не совсем уверен, что происходит в данный момент.

Я дважды проверил скрипт, чтобы увидеть, сделал ли кто-нибудь какие-либо изменения, а они нет. Я не совсем уверен, почему он выбирает эти "новые" строки, когда это даже не упоминается в сценарии.

function ltToArchive() {
  var sheet = SpreadsheetApp.getActive().getSheetByName('LT OQ');
  var dir = SpreadsheetApp.getActive().getSheetByName('LT Archive');
  var rows = sheet.getMaxRows();
  var x = 1

  for ( x = 1; x <= rows; x++){
    var checkR = sheet.getRange(x, 1);
    var checkV = checkR.getValue();
    if ( checkV == 'Complete' ){
      var lastRow = dir.getLastRow();
      dir.insertRowAfter(lastRow);
      var dirRange = dir.getRange('A' + (lastRow+1) + ':Q' + (lastRow+1));
      var copyRange = sheet.getRange('A'+ x + ':Q' + x);

      copyRange.copyTo(dirRange);
      sheet.deleteRow(x);
    }
  }
  dir.sort(10,false);
}

В идеале я хочу, чтобы он выбирал только строки с Complete, без других строк.

1 Ответ

0 голосов
/ 24 мая 2019
=query('LT OQ'!A:Q,"where A like 'Complete'")

может подойти некоторым с подобной проблемой.

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