我有一个脚本,当两个单元格匹配给定值时,会将行从一个工作表移动到另一个工作表。当我将触发器设置为编辑时,它工作正常,但只会移动工作表的最后一行。如果我将触发器设置为每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());
}
}}
理想情况下,我希望在时间驱动的触发器上运行以查看整个工作表,因为不同的行将在一天的不同时间更新,而不是总是在最后一行。