我正在尝试在工作表上复制一个列范围,并将其粘贴到另一张工作表上的行中。我希望每次脚本运行时都将其插入顶部。这是我到目前为止所得到的:
function Copy() {
var sss = SpreadsheetApp.openById('1UbcIcGJRVxsX9WbzunS96Ijf8c2gRc8UYb40lHpWWQU'); //source ID
var ss = sss.getSheetByName('Container Input'); //source Sheet tab name
var range = ss.getRange('B4:B23'); //assigned range to copy
var data = range.getValues();
var tss = SpreadsheetApp.openById('1UbcIcGJRVxsX9WbzunS96Ijf8c2gRc8UYb40lHpWWQU'); //destination ID
var ts = tss.getSheetByName('Container Log'); //destination sheet tab name
ts.getRange(1, 1, data.length, data[0].length).setValues(data); //you will need to define the size of the copied data see getRange()
//range.clearContent(); //clears var range
}
答案 0 :(得分:0)
函数Copy() {
var sss = SpreadsheetApp.openById('1UbcIcGJRVxsX9WbzunS96Ijf8c2gRc8UYb40lHpWWQU'); //来源ID
var ss = sss.getSheetByName('Container Input'); //源工作表标签名称
var ts = sss.getSheetByName('Cylinder Tracking'); //目的地工作表标签名称
// var保护= ts.protect();
// protection.setUnprotectedRanges(2,1,1,21);
ts.insertRowsBefore(2,1); //在第2行之前添加新行-保持 旧行2换为新行2
var source_C = 2;
var source_R = 3;
var dest_C = 2;
var dest_R = 2;
SpreadsheetApp.getActive()。getRange('Cylinder Tracking!A2')。setValue(new Date())
for(变量计数器= 1;计数器<= 20;计数器++)
{
var source_range = ss.getRange(source_R,source_C); //指定要复制的范围
var data = source_range.getValues();
var dest_range = ss.getRange(dest_C,dest_R);
ts.getRange(dest_R,dest_C).setValues(data); //您需要定义 复制的数据,请参见getRange()
source_R ++;
dest_C ++;
} }