我已经尝试了每个示例,并且已经为此工作了几天,感谢您的帮助。我只想复制一张纸的最后一行并将其复制到另一张纸的最后一行。最后一个示例复制所有行,而不仅仅是最后一行。
我尝试了所有无法成功找到的示例和示例。
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);
}
我希望仅从源工作表中获取最后一行并将其复制到目标工作表的最后一行中,而不是复制所有行。
答案 0 :(得分:0)
如果我的理解是正确的,那么该修改如何?
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);
}
}