Google表格脚本帮助请求:将复选框行从多个表格复制到新表格

  

完全公开:我的编程经验为零,但我的研究很快。

我正在尝试能够从许多不同的工作表中复制单个行,以将其复制到一个特定的工作表中。我花了一些时间在这个(很棒的)网站上查看以前的问题/答案,并且我能够拼凑出一个脚本,该脚本似乎可以满足我的需求。

我可以看到我可以/应该在脚本中的什么位置进行更改以获取所需的功能,但是我不知道要在代码中添加什么以实际执行我希望执行的操作。我来到这个社区谦虚地寻求帮助/指导。

这是我拼凑而成的脚本,a link to the example I've been working with

function onEdit(event) {
 // assumes source data in sheet named ABC
 // target sheet of copy to named Interdisciplinary
 // getcolumn with check-boxes is currently set to colu 15 or O
 var ss = Spreadsheetapp.getactiveSpreadsheet();
 var s = event.source.getactiveSheet();
 var r = event.source.getactiveRange();

 if(s.getName() == "ABC" && r.getcolumn() == 15 && r.getvalue() == true) {
   var row = r.getRow();
   var numColumns = s.getLastColumn();
   var targetSheet = ss.getSheetByName("Interdisciplinary");
   var target = targetSheet.getRange(targetSheet.getLastRow() + 1,1);
   s.getRange(row,1,numColumns).copyTo(target);
  } else if(s.getName() == "Interdisciplinary" && r.getcolumn() == 4 && r.getvalue() == false) {
 }
}

我知道我正在确定要从(ABC)中提取数据的特定工作表,我可以从那里单击复选框的工作表中提取什么?

我还知道我正在将行复制到远离LastRow的某个已定义位置的行。我应该怎么做才能将行复制到学期标题中,或者复制到新表的顶部?

最后,我非常感谢社区可能对我的要求提供的其他任何评论,反馈和指导。

非常感谢! 钾

likexiaoshuang 回答:Google表格脚本帮助请求:将复选框行从多个表格复制到新表格

您的代码有效。问题在于电子表格中的代码正在查看第21列,而不是第15列。

此外,我建议您在event object中查看可用的属性。您应该使用它们而不是您编写的前三个声明。您可以在下面查看我的版本中的更改。

function onEdit(event) {
  var sheets =  ["ABC","DEF","GHI","JKL","MNO"]; // Sheet names that will trigger execution. Case-sensitive.

  // target sheet of copy to named Interdisciplinary
  // getColumn with check-boxes is currently set to colu 15 or O
  var ss = event.source;
  var s = event.range.getSheet();
  var r = event.range;

  if (sheets.indexOf(s.getName()) != -1 && r.getColumn() == 15 && r.getValue() == true) {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Interdisciplinary");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1,1);
    s.getRange(row,1,numColumns).copyTo(target);
  } else if(s.getName() == "Interdisciplinary" && r.getColumn() == 4 && r.getValue() == false) {

  }
}

编辑:我已经修改了代码,以向您展示如何允许从多个工作表中触发。

本文链接:https://www.f2er.com/3121492.html

大家都在问