繁体   English   中英

用于在最后一条记录后复制并粘贴到另一个工作表的 Google Sheets 脚本

[英]Google Sheets script to copy and paste in another sheet after the last record

我正在编写一个脚本,该脚本将复制特定范围的工作表 A 并将其粘贴到工作表 B 中的最后一条记录后,我知道这应该很容易,但不知何故代码不起作用,请您告诉我什么我在这里做错了吗,它会清除单元格的内容,但将部分数据从工作表 A 复制到工作表 B

function Export2() {

     var ss = SpreadsheetApp.getActiveSpreadsheet()
      var database = SpreadsheetApp.openById("XXX");
     var source = ss.getSheetByName('Sheet1');
       var dataToCopy = source.getRange('B2:G10');
      var copyToSheet = database.getSheetByName("Sheet2");
      var lastRow = copyToSheet.getLastRow();
      for (var i = 1; i<6 ;i++){
        var Paste = copyToSheet.getRange(lastRow + 1,i).setValues(dataToCopy.getCell(1,i).getValues());
    }

    var Clean = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1').getRange('B2:G10');
                Clean.clear({contentsOnly:true});
    }
function Export2() {
  var svA=SpreadsheetApp.getActive().getSheetByName('Sheet1').getRange(2,2,9,6).getValues()
  var dsh=SpreadsheetApp.openById('1AqQyqMQNnYvbFoU0HQ4WtjqkKtfxkj15Y6iXG6lCWkI').getSheetByName('Sheet2')
  dsh.getRange(dsh.getLastRow()+1,1,svA.length,svA[0].length).setValues(svA);
}
  • 您想使用 Google Apps 脚本将活动电子表格中Sheet1上范围B2:G10的值复制到另一个电子表格中Sheet2的最后一行。
  • 复制值后,您希望清除活动电子表格中Sheet1B2:G10区域的单元格。

如果我的理解是正确的,这个答案怎么样? 请将此视为几种可能的答案之一。

改装要点:

  • 在您当前的脚本中,仅复制源工作表的“B2:F2”值。 因此,在这种情况下,首先从活动电子表格中Sheet1上的范围B2:G10检索源值。 然后,将值放入目标范围。
  • 为了清除范围B2:G10Sheet1的活动的电子表格,也可以使用dataToCopyvar dataToCopy = source.getRange('B2:G10')

修改后的脚本:

当你的脚本被修改时,它变成如下。

function Export2() {
  var ss = SpreadsheetApp.getActiveSpreadsheet()
  var database = SpreadsheetApp.openById("XXX");
  var source = ss.getSheetByName('Sheet1');
  var dataToCopy = source.getRange('B2:G10');
  var copyToSheet = database.getSheetByName("Sheet2");

  // I modified below script.
  var sourceValues = dataToCopy.getValues();
  var lastRow = copyToSheet.getLastRow();
  copyToSheet.getRange(lastRow + 1, 1, sourceValues.length, sourceValues[0].length).setValues(sourceValues);
  dataToCopy.clear({contentsOnly:true});
}

如果我误解了您的问题并且这不是您想要的结果,我深表歉意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM