Google apps script Google脚本将行移动到另一个工作表

Google apps script Google脚本将行移动到另一个工作表,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一个脚本,当两个单元格匹配给定值时,它会将行从一个工作表移动到另一个工作表。当我将触发器设置为“编辑”时,它工作正常,但只会移动工作表的最后一行。如果我将触发器设置为每5分钟运行一次,则不会发生任何事情。我做错了什么?在使用脚本方面还是很新的,所以可能是我忽略了一些明显的东西 以下是脚本: function MoveRows() { var sheetNameToWatch = "Requests"; var sheetNameToMoveTo = "Approved"; va

我有一个脚本,当两个单元格匹配给定值时,它会将行从一个工作表移动到另一个工作表。当我将触发器设置为“编辑”时,它工作正常,但只会移动工作表的最后一行。如果我将触发器设置为每5分钟运行一次,则不会发生任何事情。我做错了什么?在使用脚本方面还是很新的,所以可能是我忽略了一些明显的东西

以下是脚本:

function MoveRows() {
  var sheetNameToWatch = "Requests";
  var sheetNameToMoveTo = "Approved";

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

  var range = sheet.getActiveCell();
  var row = range.getRow();

  if (sheet.getName() == sheetNameToWatch &&
    sheet.getRange(row, 8).getValue() == "Y" &&
    sheet.getRange(row, 12).getValue() == "Approved") {
{

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

理想情况下,我希望它在时间驱动的触发器上运行,以查看整个工作表,因为不同的行将在一天中的不同时间更新,而不总是最后一行。

它被设置为抓取活动单元格,这意味着,如果该单元格不是包含测试数据的单元格,则不会发生任何事情。在
if
语句中还有额外的花括号。您还使用了简短的ciciuit
&&
,因此如果其中一个测试失败,则整个语句都会失败。