[英]Need to copy both the format and values in another sheet to the next row that is blank
我需要将此范围A1:BU17复制到同一电子表格中下一行可用的另一张纸上。 我试图用这个:
function Copy() {
var sss = SpreadsheetApp.openById('x'); //replace with source ID
var ss = sss.getSheetByName('Analysing'); //replace with source Sheet tab name
var range = ss.getRange('A1:BU17'); //assign the range you want to copy
var data = range.getValues();
var tss = SpreadsheetApp.openById('x'); //replace with destination ID
var ts = tss.getSheetByName('Archive'); //replace with destination Sheet tab name
ts.getRange(ts.getLastRow()+1, 1, data.length, data[0].length).setValues(data);
}
我在stackoverflow内部发现了此搜索。 它确实将我的行复制到下一个可用的行,但不是复制的格式,所以当我使用它时完全是一团糟。 我知道Ofc“ X”是ID。 如果有人可以帮助我,请先谢谢您。
这个修改怎么样? 请认为这是几个答案之一。
您可以使用copyTo()
。 但是有一些限制。
copyTo()
可以将格式和值都复制到同一电子表格中的工作表和范围中。 copyTo()
无法将数据复制到其他电子表格中的范围和工作表中。 copyTo()
可以将表复制到其他电子表格。 copyTo()
无法复制范围。 通过反映它们,可以如下修改脚本。
copyTo()
将源表复制到目标表。 copyTo()
将源范围复制到目标范围。 copyTo()
复制的表。 function Copy() {
var sss = SpreadsheetApp.openById('x'); //replace with source ID
var ss = sss.getSheetByName('Analysing'); //replace with source Sheet tab name
var srcrange = ss.getRange('A1:BU17'); //assign the range you want to copy
var tss = SpreadsheetApp.openById('x'); //replace with destination ID
var ts = tss.getSheetByName('Archive'); //replace with destination Sheet tab name
var dstrange = ts.getRange(ts.getLastRow()+1, 1, srcrange.getHeight(), srcrange.getWidth());
var dstSS = dstrange.getSheet().getParent();
var copiedsheet = srcrange.getSheet().copyTo(dstSS);
copiedsheet.getRange(srcrange.getA1Notation()).copyTo(dstrange);
dstSS.deleteSheet(copiedsheet);
}
如果我误解了您的问题,对不起。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.