如何使用 Google Apps 脚本将选定数据范围复制到同一 Sheet 中的最后一行数据之后?

How to copy a range of selected data to after the lastRow of data in the same Sheet using Google Apps Script?

我手动选择了一系列数据,并想按下一个按钮将这些数据复制到同一 sheet 中的最后一行数据之后,使用 Google Apps 脚本但根本不起作用.如何解决?代码是:

var listToCopy = SpreadsheetApp.getActiveSheet().getActiveRange();
  var height = listToCopy.getHeight();
  var destRow = listToCopy.getLastRow()+1;
  listToCopy.copyTo(spreadsheet.getRange(destRow, 0, height));

我相信你的目标如下。

  • 您想使用 Google Apps 脚本将 selected 范围复制到同一 sheet 的最后一行。

为此,这个答案怎么样?

修改点:

  • var destRow = listToCopy.getLastRow()+1; 的情况下,检索 listToCopy 范围的最后一行。
    • 在您的情况下,需要检索 sheet 的最后一行。
  • 可以将源范围复制到目标范围作为起始范围,如getRange(destRow, 1)
    • 范围的第一个数字是1
  • spreadsheet 未声明。

当以上几点反映到你的脚本中,就会变成下面这样。

修改后的脚本:

为了使用这个脚本,请 select 范围和 运行 myFunction 的函数。这样,selected 范围被复制到相同 sheet.

的最后一行
function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var listToCopy = sheet.getActiveRange();
  var destRow = sheet.getLastRow() + 1;
  listToCopy.copyTo(sheet.getRange(destRow, 1));
}

参考文献: