用于在 Google 表格中附加数据范围的脚本

And*_*ina 2 google-sheets google-apps-script

我有一个脚本可以将一系列数据复制并发送到另一个工作表。我想在脚本中添加另一部分,这将执行相同的功能,但将数据附加到新行。

  function saveToRecords() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var source = ss.getRange('Report!L1:AC1');
    source.copyTo(ss.getRange('Records!A3:R3'), {contentsOnly: true});
  }
Run Code Online (Sandbox Code Playgroud)

我将此脚本附加到 Google 表格中的一个按钮。数据被发送Report!到Records!. 工作Records!表将保存这些数据。因此,每次单击按钮时,我都希望将数据发送到新行。

我知道有一种简单的方法可以做到这一点!我被难住了。谢谢你的帮助。

jvd*_*vdh 5

就在这里。您可以使用getLastRow()。

所以你的代码看起来像这样:

function appendToRecords() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var reportSheet = ss.getSheetByName("Report");
  var recordsSheet = ss.getSheetByName("Records")
  var reportData = reportSheet.getRange("L1:AC1")
                              .getValues();
  var lastRow = recordsSheet.getLastRow();
  //copy data
  recordsSheet.getRange(lastRow + 1, 12, 1, 18)
              .setValues(reportData);

}
Run Code Online (Sandbox Code Playgroud)