【问题标题】:Automatically move row based on cell data根据单元格数据自动移动行
【发布时间】:2017-04-05 14:15:31
【问题描述】:

我有以下代码:

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”中删除,我需要将其添加到工作表“Returned/Billed” .我不明白的是,当我第一次添加此代码时它正在工作。但是现在不行了。

我确实将此电子表格链接到只有我可以访问和使用的 AppSheet 应用程序。但是当我将第 10/J 列更改为 TRUE 时,它并没有做出改变。

昨晚我还收到了 Google 发来的这封电子邮件:

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

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

提前致谢!

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    大多数 AppSheet 问题都在http://community.appsheet.com 提出和回答

    对于您的问题,由于通过 AppSheet 应用捕获的更新,您似乎希望在电子表格上触发 onEdit 触发器。不幸的是,这行不通。您将需要改用定时触发器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-23
      相关资源
      最近更新 更多