Google 表格 - 如何在启用 A 列上的复选框并将该数据发送到另一个 sheet 后复制 11 列数据?

Google Sheets - How can I copy 11 columns of data after enabling a checkbox on column A and sending that data to another sheet?

您好,感谢您提前提供的帮助。

我在 sheet 上有数据,标题为“AutoFlip”,在 B3:K53 范围内。在为给定行激活 A 列中的复选框(以便我可以在 Google 工作表的 iOS 版本上进行操作)后,我想复制该行的单元格 B:K 的值并将它们粘贴到另一个 sheet 标题为“ActiveFlips”的单元格 A2 中,然后每个启用的复选框都会将该行数据粘贴到 sheet“ActiveFlips”的下一个空行(本例中为单元格 A3 ).

这是我现在拥有的:

function onEdit(e) {
  //IF the cell that was edited was in column 1 and therefore a checkbox AND if the cell edited was checked (not unchecked):
  if (e.range.columnStart === 1 && e.range.getValue() === true) {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = SpreadsheetApp.getActiveSheet();
    var srcsheet = ss.getSheetByName("AutoFlip");
    var dstsheet = ss.getSheetByName("ActiveFlips");
    var row = sheet.getActiveCell().getRow();
    var rangeToCopy = sheet.getRange(row,1,1,11);
    var dstrow = dstsheet.getRange(dstSheet.getLastRow()+1,1);
    dstsheet.insertRowAfter(dstrow);
    rangeToCopy.copyTo(dstsheet.getRange(dstrow + 1, 1));
    //Reset checked boxes
    srcsheet.getRange(row,1,2,1).setValue(false);
  }
}

来源:我一直在使用以下问题作为来源,但不太正确。

copy and paste to next available row in a certain column google sheets

function onEdit(e) {
  //e.source.toast('entry');
  const sh = e.range.getSheet();
  if (sh.getName()== "AutoFlip" && e.range.columnStart == 1 && e.value == "TRUE") {
    //e.source.toast('cond');
    const tsh = e.source.getSheetByName('ActiveFlips');
    sh.getRange(e.range.rowStart,2,1,10).copyTo(tsh.getRange(tsh.getLastRow()+1,2));
    e.range.setValue("FALSE");
  }
}

注意:如果不提供适当的事件对象,您无法从脚本编辑器中运行此函数。