Google 脚本根据下拉菜单复制行,不起作用

问题描述 投票:0回答:1

如果在 J 列中选择了某些项目,我将尝试复制整行(从“调用”选项卡)。基本上,如果在 J 列的下拉菜单中选择除“检查环中心时间”之外的任何项目。应将该行复制到“工作表错误”选项卡。即使原始调用选项卡被清除,它也应该保留在“错误”选项卡上。

但是脚本正在复制每一行的所有内容。它确实保留在“工作表错误”选项卡上。所以我想我的第一部分和最后一部分是正确的。它复制并保留。我只是不知道为什么它不只基于 J 列进行复制

我测试了脚本,它运行得很好...哈哈,但是当我让脚本运行时,我的工作表已经填好了。所以我编辑的唯一列是 J 列。这是完美的。我对此很糟糕。我想理解它。我努力尝试。但是......我将脚本复制到工作表中,然后发现它不起作用。它将每个单元格上的每个编辑复制到一个新行中,每个单元格的每个编辑。真是一团糟。但我还是觉得很接近??? 工作表链接:text

function onEdit(event) {

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

  if(s.getName() == "Calls" && r.getColumn() == 10 && r.getValue() == "Report not justified Daily","Special not listed Correctly","Phone number does not match Ring Central","Credit not listed in note section","Possibly double billed Call Connie","Possibly should have been refunded Call Connie","Amount in terminal does not match report","Error See Highlights") {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Sheet Errors");
    var target = targetSheet.getRange(targetSheet.getLastRow()+1,1);
    s.getRange(row, 1, 1, numColumns).copyTo(target);


  }
}type here
google-sheets google-apps-script google-sheets-formula
1个回答
0
投票

试试这个

function onEdit(event) {

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

  if(s.getName() == "Calls" && r.getColumn() == 10 && r.getValue() !== "Check Ring Central Time") {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Sheet Errors");
    var target = targetSheet.getRange(targetSheet.getLastRow()+1,1);
    s.getRange(row, 1, 1, numColumns).copyTo(target);
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.