如何从Google工作表复制最后一行并将其复制到其他Google工作表的最后一行

时间:2019-04-20 02:21:36

标签: google-apps-script

我已经尝试了每个示例,并且已经为此工作了几天,感谢您的帮助。我只想复制一张纸的最后一行并将其复制到另一张纸的最后一行。最后一个示例复制所有行,而不仅仅是最后一行。

我尝试了所有无法成功找到的示例和示例。

function lastrow2() {
var source = SpreadsheetApp.openById('MY ID');
var sourcesheet = source.getSheetByName('sheet1');
var target = SpreadsheetApp.openById('MY ID')
var targetsheet = target.getSheetByName('sheet2');
var targetrange = targetsheet.getRange(1, 1, sourcesheet.getLastRow(), 
sourcesheet.getLastColumn());
var rangeValues = sourcesheet.getRange(1, 1, sourcesheet.getLastRow(), 
sourcesheet.getLastColumn()).getValues();
targetrange.setValues(rangeValues); 
}

我希望仅从源工作表中获取最后一行并将其复制到目标工作表的最后一行中,而不是复制所有行。

2 个答案:

答案 0 :(得分:0)

  • 您想要将Sheet1的最后一行的值复制到Sheet2的最后一行。

如果我的理解是正确的,那么该修改如何?

发件人:

var targetrange = targetsheet.getRange(1, 1, sourcesheet.getLastRow(), sourcesheet.getLastColumn());
var rangeValues = sourcesheet.getRange(1, 1, sourcesheet.getLastRow(), sourcesheet.getLastColumn()).getValues();

收件人:

var targetrange = targetsheet.getRange(targetsheet.getLastRow() + 1, 1, 1, sourcesheet.getLastColumn());
var rangeValues = sourcesheet.getRange(sourcesheet.getLastRow(), 1, 1, sourcesheet.getLastColumn()).getValues();

注意:

如果要覆盖Sheet2的最后一行,请从targetsheet.getRange(targetsheet.getLastRow() + 1, 1, 1, sourcesheet.getLastColumn())修改为targetsheet.getRange(targetsheet.getLastRow(), 1, 1, sourcesheet.getLastColumn())

参考:

如果我误解了您的问题,请告诉我。我想修改它。

编辑:

根据您的评论,此修改如何?

发件人:

var targetsheet = targetsheet.getRange(targetsheet.getLastRow(), 1, 1, sourcesheet.getLastColumn());

收件人:

var targetrange = targetsheet.getRange(targetsheet.getLastRow() || 1, 1, 1, sourcesheet.getLastColumn());

答案 1 :(得分:0)

将一个电子表格的最后一行复制到另一电子表格的最后一行

在我的测试中,两个电子表格都不是脚本容器

但是其中一个可能是。

function copyLastToLast() {
  var sss=SpreadsheetApp.openById('1u1d-eJVnR_UdAY_1ZnuF0kF3LLdnq30XIKW3wnQSFCY');
  var ssh=sss.getSheetByName('Sheet1');
  var srg=ssh.getRange(ssh.getLastRow(),1,1,ssh.getLastColumn());
  var svA=srg.getValues();
  var tss=SpreadsheetApp.openById('13hXYw9wrZtIi2OayGGurD2qOXZLaNcEZoculd179B_0');
  var tsh=tss.getSheetByName('sheet2');
  if(tsh.getLastRow()) {
    tsh.getRange(tsh.getLastRow(),1,1,svA[0].length).setValues(svA);
  }else{
    tsh.getRange(1,1,1,svA[0].length).setValues(svA);
  }
}