首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用一个选项卡中的复选框复制行,并将其添加到选项卡和两个附加选项卡的底部?

如何使用一个选项卡中的复选框复制行,并将其添加到选项卡和两个附加选项卡的底部?
EN

Stack Overflow用户
提问于 2020-08-22 05:20:21
回答 1查看 58关注 0票数 0

有几个StackOverflow问题解决了将一行数据移动到外部工作表和工作表内的问题。我想要做的是将它们合并到同一个工作表中,但我遇到了脚本工作时的问题,onEdit和使用循环在同一个工作表中写入相同的选项卡和两个附加的选项卡。

如果选中了"test1“选项卡中的复选框,请在选项卡"test1”、"test2“和"completed”的底部复制该行。

https://docs.google.com/spreadsheets/d/1_wHyVcR-rCBP6doJEQFqjwCdD6gzXsk_eU8p8MusmvY/edit?usp=sharing

代码语言:javascript
运行
复制
function onEdit(event) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  //var sec = SpreadsheetApp.getActiveSheet();
  //  var s = ss.getSheetByName("test1");
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();

  // Duplicates an order as a new draft on the last row of the draft tab
  if (s.getName() == "test1" && r.getColumn() == 1 && r.getValue() == true) {
    var row = r.getRow();
    var numColumns = s.getLastColumn();

    //var targetSheet = ss.getSheetByName("draft");

    var sheets = ['test1', 'test2', 'Completed']
    for (var i = 0; i < sheets.length; i++) {
      var sheetName = sheets[i]
      var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
      if (sheet != null) {
        targetsheet(sheet)

      }
    }


    var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
    sheets.forEach(function(sheet) {
      targetsheet(sheet)
    })

    var target = sheets.getRange(sheets.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).copyTo(target);
    s.copyRow(row);
  }
}
EN

回答 1

Stack Overflow用户

发布于 2020-08-22 10:11:24

试试这个:

代码语言:javascript
运行
复制
function onMyEdit(e) {
  e.source.toast('Entry')
  const sh=e.range.getSheet();
  const sA=['Sheet2','Sheet3','Sheet4'];//tabs to copy to
  if(sh.getName()=='Sheet1' && e.range.columnStart==9 && e.value=="TRUE") {
    e.source.toast('Conditional');
    const row=sh.getRange(e.range.rowStart,1,1,sh.getLastColumn()).getValues()[0];
    sA.forEach(function(name){
      let sh=e.source.getSheetByName(name);
      sh.appendRow(row);
    });
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63530200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档