我正在使用Gdocs电子表格来处理作业队列。
我想知道一行及其所有内容(来自A列:AS)是如何从" Live WIP Jobs" (sheet1)Tab to to" Delivered Jobs" (Sheet2)标签将其标记为"已交付"在专栏" AP"。
通常它会在sheet1中标记为WIP。
在将其标记为Delivered时,我希望将该行复制到Sheet2并将其从sheet1中删除。
附加表格以供参考
我也尝试了以下脚本..但它没有工作并且提取错误:
function CopyRowsOnConditions() {
// assumes source data in sheet named Live WIP Jobs
// target sheet of move to named Delivered
// test column with Delivered/WIP is col AP or 42
var sheet = SpreadsheetApp.getActiveSheet();
var numRows = sheet.getDataRange().getNumRows();
var source = sheet.getRange(2, 42, numRows);
if(s.getName() == "Live WIP Jobs" && r.getColumn() == 42 && r.getValue() == "Delivered"){
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Delivered");
if(targetSheet.getLastRow() == targetSheet.getMaxRows()) {
targetSheet.insertRowsAfter(targetSheet.getLastRow(), 20); //inserts 20 rows after last used row
}
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
}
}
答案 0 :(得分:0)
检查脚本中的代码(您发布的代码未完成)我注意到您正在使用变量“event”创建变量“r”和“s”。
当你有一个事件(例如onEdit)时,该函数会收到一个参数事件,然后你可以使用它。这是https://developers.google.com/apps-script/guides/triggers/events
中的信息如果您要使用某个事件,请相应地更改代码,如文档中所述。