【问题标题】:Google Sheet Checkbox Script To Move Row用于移动行的 Google 表格复选框脚本
【发布时间】:2022-10-24 14:42:49
【问题描述】:

我希望为 A 列中的复选框设置脚本,以将该行移动到单独的工作表中。本质上,我想将检查完成的数据移动到“完成”表。你能帮我吗?我通过搜索找到了一些,但我不知道它们是否是最新的。我无法让它们发挥作用。

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    尝试:

    function onEdit(event) {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var s = event.source.getActiveSheet();
      var r = event.source.getActiveRange();
    
      if(s.getName() == "Sheet1" && r.getColumn() == 4 && r.getValue() == true) {
        var row = r.getRow();
        var numColumns = s.getLastColumn();
        var targetSheet = ss.getSheetByName("Sheet2");
        var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
        s.getRange(row, 1, 1, numColumns).moveTo(target);
        s.deleteRow(row);
      } else if(s.getName() == "Sheet2" && r.getColumn() == 4 && r.getValue() == false) {
        var row = r.getRow();
        var numColumns = s.getLastColumn();
        var targetSheet = ss.getSheetByName("Sheet1");
        var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
        s.getRange(row, 1, 1, numColumns).moveTo(target);
        s.deleteRow(row);
      }
    }
    
    • Sheet1 是源
    • Sheet2 是目标
    • 并且复选框位于第 4 列 (D)

    demo spreadsheet

    【讨论】:

    • 非常感谢您的及时回复。好的,我复制了你的演示表,它完全符合我的要求。但是,当我将脚本和参数应用到我的电子表格时,我无法让它工作。我是脚本的新手......我做错了什么基本的事情吗?这是谷歌表单回复表有关系吗?
    • 这是我得到的错误:2022 年 10 月 21 日下午 4:13:21 错误异常:无法从表单数据中剪切。请改用副本。在 onEdit(复选框:12:7)
    猜你喜欢
    • 1970-01-01
    • 2022-01-18
    • 2020-06-12
    • 2022-11-16
    • 2019-06-16
    • 1970-01-01
    • 2018-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多