下面是我的脚本:
function CopyRange() {
var sss = SpreadsheetApp.openById('1EA2F99W1lpgTzX3zoTNpzuEXWh-mDkvo9UyZC4kDNtQ'); //replace with source ID
var ss = sss.getSheetByName('UKG-A'); //replace with source Sheet tab name
var range = ss.getRange('G4:K4'); //assign the range you want to copy
var data = range.getValues();
var tss = SpreadsheetApp.openById('1EA2F99W1lpgTzX3zoTNpzuEXWh-mDkvo9UyZC4kDNtQ'); //replace with destination ID
var ts = tss.getSheetByName('UKG-A'); //replace with destination Sheet tab name
ts.getRange(7 && ts.getLastRow()+1,15,1,5).setValues(data); //you will need to define the size of the copied data see getRange()
}
代码正常工作。当我运行代码时,它从源表中获取数据,并在具有数据的最后一行之后进入目标表。但我想要的是定义一个特定的行来开始数据输入,并从该行继续。例如,我想要数据输入开始在UKG-A
表的第7行之后。
说明:
您的目标是在第7行之后添加一个新行,然后在这个新创建的行上设置新数据。
-
您可以使用insertRowAfter(afterPosition)在指定位置后插入新行。
-
从
8
行开始粘贴 -
(可选)动态获取
data
的长度,而不是硬拷贝。
解决方案:
改变:
ts.getRange(7 && ts.getLastRow()+1,15,1,5).setValues(data);
:
ts.insertRowAfter(7)
ts.getRange(8,15,data.length,data[0].length).setValues(data);
相关:
sheet . gerange(1,1,1,12)括号中的数字表示什么?
getRange(row, column, numRows, numColumns)