根据单元格数据自动移动行

时间:2017-04-05 14:15:31

标签: google-apps-script google-sheets

我有以下代码:

function onEdit(event) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();

  if(s.getName() == "Out" && r.getColumn() == 10 && r.getValue() == "TRUE") {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Returned/Billed");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).moveTo(target);
    s.deleteRow(row);
  }
}

我要做的是根据第10栏中的答案删除整行,或者J.一旦将其从“Out”表中删除,我需要将其添加到“返回/结算”表中。我没有得到的,当我第一次添加此代码时,它是否正常工作。但现在它没有用。

我确实将此电子表格链接到只有我有权访问和使用的AppSheet应用。但是当我将10 / J列更改为TRUE时,它没有进行更改。

我昨晚也收到了谷歌的这封电子邮件:

Start   Function    Error Message   Trigger End
4/3/17 8:27 PM  onEdit  TypeError: Cannot call method "getActiveSheet" of undefined. (line 3, file "Code")  time-based  4/3/17 8:27 PM

如何让它正常运行以便我可以使用我创建的应用程序?

提前致谢!

1 个答案:

答案 0 :(得分:0)

大多数AppSheet问题都会在http://community.appsheet.com

上提出并回答

对于您的问题,听起来您希望通过AppSheet应用程序捕获更新,从而在电子表格上触发onEdit触发器。不幸的是,这不起作用。您需要使用定时触发器。