【问题标题】:Combining two onEdits结合两个 onEdits
【发布时间】:2020-04-01 00:56:18
【问题描述】:

我正在尝试组合多个 onEdit,以便当一列中的复选框为真时,该行将拍摄到某个选项卡。同样,当复选框在另一个中标记为 true 时,同一行将拍摄到完全不同的选项卡。

这些是分开工作的,但我很难将它们结合起来。

'''

function onEdit(event) {
  myFunction1(event);
  myFunction2();
}

function myFunction1(event) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();
  if(s.getName() == "main" && r.getColumn() == 4 && r.getValue() == true) {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Completed");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).copyTo(target);

  }
}

function myFunction2() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();
  if(s.getName() == "main" && r.getColumn() == 5 && r.getValue() == true) {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Combine");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).copyTo(target);

'''

【问题讨论】:

    标签: javascript google-apps-script google-sheets google-sheets-formula


    【解决方案1】:

    您还需要更改工作表名称。 最大的问题是 e.value 可能应该是 "TRUE" 而不是 true 这就是我使用第一个 toast 命令检查它的原因。

    function onEdit(e) {
      //e.source.toast('Entry' + JSON.stringify(e));
      var sh=e.range.getSheet();
      if(sh.getName() == "Sheet10" && e.value=="TRUE") {
        if(e.range.columnStart==4) {
          //e.source.toast('Flag1');
          var tsh=e.source.getSheetByName("Sheet11");
          var trg=tsh.getRange(tsh.getLastRow()+1,1);
        }
        if(e.range.columnStart==5) {
          //e.source.toast('Flag2');
          var tsh=e.source.getSheetByName("Sheet12");
          var trg=tsh.getRange(tsh.getLastRow()+1,1);
        }
        sh.getRange(e.range.rowStart,1,1,sh.getLastColumn()).copyTo(trg)
      }
    }
    

    【讨论】:

    • 非常感谢!这是我第一次在这个网站上发帖,我很惊讶你的帮助速度如此之快。我稍后肯定会尝试这个 - 只是想在看到回复后表达我的感激之情!
    猜你喜欢
    • 1970-01-01
    • 2010-09-09
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    • 2013-12-12
    • 1970-01-01
    相关资源
    最近更新 更多