【发布时间】:2018-07-19 09:35:55
【问题描述】:
我已经查看了我能找到的所有以前的问题,但我似乎永远无法使不同的示例适合我正在尝试做的事情。
我的表格将由不同的用户填写。我希望在 All!H35 的下拉列表中选择“是”后,将“数据”表上的数据复制到格式相同的单独电子表格中。每个团队都会有一个表格(“来源”),每天都会填写,理想情况下,他们都将数据复制到同一个主电子表格(“目的地”)中的下一个空行,创建一个所有的运行列表工作。
[来源][1]
[目的地][2]
编辑: 它部分工作,但只抓取第一个单元格,即使在调整了剩余的列和行之后也是如此。
// Get the contents of a cell in srcSheet
var range = srcSheet.getRange(1, 1, 16, 38);
var values = range.getValues();
// place it in the last row if the destination cell
var range = srcSheet.getRange(1, 1, 16, 38);
var values = range.getValues();
终于搞定了。这是供参考的工作代码。
function CopyRange() {
var sss = SpreadsheetApp.openById('1zxyKx4GsBgD7hRzWT3TSvJto-R-rJoNwLu-0s5zFtko'); //replace with source ID
var ss = sss.getSheetByName('DataTS1'); //replace with source Sheet tab name
var range = ss.getRange('A2:AL17'); //assign the range you want to copy
var data = range.getValues();
var tss = SpreadsheetApp.openById('1DrCgrLIrybN4a-UqlBsGSJy5p8XBPWNR2ftviwTA5_Y'); //replace with destination ID
var ts = tss.getSheetByName('All Data'); //replace with destination Sheet tab name
ts.getRange(ts.getLastRow()+1, 1,16,38).setValues(data); //you will need to define the size of the copied data see getRange()
}
【问题讨论】:
-
看看MVCE
标签: google-apps-script google-sheets