【问题标题】:Google App Script to append range of data in Google Sheets用于在 Google 表格中附加数据范围的 Google App 脚本
【发布时间】:2020-01-29 21:36:57
【问题描述】:

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

function saveToRecords() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var archive = ss.getSheetByName("Archive");
    var source = ss.getRange('Work!A10:R');
    var lastRow = archive.getLastRow();
    source.copyTo(ss.getRange('Archive!A1:R1'), {contentsOnly: true});
}

我一直在关注此question 以获得指导,但是当我尝试实施解决方案时,我不断收到不匹配的范围错误。

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:
    function saveToRecords() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var archive = ss.getSheetByName("Archive");
      var work = ss.getSheetByName('Work');
      var source = work.getRange(10,1,work.getLastRow()-9,18);
      source.copyTo(archive.getRange(archive.getLastRow()+1,1));
    }
    

    【讨论】:

    • 更新了我的问题,现在收到奇怪的结果
    • 另外,你的 var 源代码行是如何工作的?我想复制 A10:R 中所有非空白的行,但这些行中的某些列是空白的。准确实施您的解决方案时,我会收到超出范围的错误。
    • 在您的代码源中是一个值数组 var source = ss.getRange('Work!A10:R').getValues() 在我的代码源中是一个范围 var source = work.getRange(10,1,work.getLastRow()-9,18); 我还发现使用像 A10:R 这样的 A1 表示法获取值会导致大量尾随从数据底部到 maxrows 的空值,所以我从不使用那种表示法。如果我需要知道最后一行,那么我使用 Sheet.getLastRow() 函数。
    • 您确实需要开始使用调试器并查看调试器提供的有关您的数据的信息。
    【解决方案2】:

    结束了这样的事情

    function saveToRecords() {
      var spreadsheet = SpreadsheetApp.getActive();
      spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Work'), true);
      spreadsheet.getRange('A10:R').activate();
      var source_sheet = spreadsheet.getSheetByName("Work");
      var target_sheet = spreadsheet.getSheetByName("Archive");
      var source_range = source_sheet.getActiveRange();
      var last_row = target_sheet.getLastRow();
      var values = source_range.getValues();
      target_sheet.getRange(last_row + 1, 1, values.length, values[0].length).setValues(values);
      spreadsheet.getRange('A2').activate();
    }
    

    这会添加我的 A10:R 范围并将值粘贴到我的存档表的第一个可用行中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 2020-06-12
      • 2020-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多