如何解决在Google表格中复制无意行的功能

时间:2019-05-24 17:01:43

标签: javascript google-sheets

我是JavaScript的新手,并且编写了一个脚本,该脚本打算在A列(标记为“状态”)中查找状态为“已完成”,然后从该选项卡中剪切整行并将其粘贴到另一行中标签。可以通过数据验证选择其他4种状态,包括“新建”。直到最近脚本开始也以“ New”状态切割行时,这种方法一直运行良好。我现在不确定到底出了什么问题。

我已经仔细检查了脚本,以查看是否有人进行了任何更改,而他们没有进行任何更改。我不确定为什么在脚本中甚至没有提到它时为什么选择这些“新”行。

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 :(得分:0)

=query('LT OQ'!A:Q,"where A like 'Complete'")

可能适合一些有类似问题的人。