我已经从stackoverflow上的搜索创建了一个脚本,并且到目前为止提出了这个:
function collectData(){
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheets = ss.getSheets();
var target = ss.getSheetByName("Export");
for ( i = 0; i < sheets.length; i++){
var names = sheets[i].getRange("B1").getValue();
Logger.log(names);
}
}
这是按预期工作的,但我试图在另一张表中列出值。我已经尝试过copyTo和setValues并推送将值列表发送到特定工作表,但不断出现错误。
答案 0 :(得分:0)
要在电子表格的某个范围内设置值,您需要将它们排列在一个双数组中。一行是[[x, y, z]]
,一列是[[x], [y], [z]]
。既然你想要一个列,那么逻辑就是
var names = [];
for (var i = 0; i < sheets.length; i++){
names.push([sheets[i].getRange("B1").getValue()]);
}
target.getRange(1, 1, names.length, 1).setValues(names);
参考:getRange。
要改为换行,可以移动一些方括号:
var names = [];
for (var i = 0; i < sheets.length; i++){
names.push(sheets[i].getRange("B1").getValue());
}
target.getRange(1, 1, 1, names.length).setValues([names]);