:定位
我必须复制一系列数据并将其粘贴到另一个电子表格/表格中。
CONTEXT
我设法以非常基本的模式构建脚本。在这些行下面,您将看到我的代码。
在我的代码中,我创建了变量Personas,并将范围“A2; D5”保存到Personas中。然后我将该数据粘贴在同一张表中的“F2:I2”范围内。
问题
我想改进那个Loop,因为这是一个非常简单的例子,只有4个值(4个柱子= A:D)。如果我必须处理30列,我应该输入30行代码 - 每列一个。
我怎样才能以更简单的方式处理它?</ p>
感谢名单
function copyAndPasteIt(){
var ssObjects = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Objects')
var personas = ssObjects.getRange("A2:D5").getValues()
Logger.log(personas)
for(i=0; i<4; i++){
ssObjects.getRange((2+i), 6).setValue(personas [i][0])
ssObjects.getRange((2+i), 7).setValue(personas [i][1])
ssObjects.getRange((2+i), 8).setValue(personas [i][2])
ssObjects.getRange((2+i), 9).setValue(personas [i][3])
}
}
答案 0 :(得分:0)
您不需要为每个单元格使用循环,您可以使用&#39; getRange(row,column,numRows,numColumns)来获取数据范围&#39;: https://developers.google.com/apps-script/reference/spreadsheet/sheet#getrangerow-column-numrows-numcolumns
然后获取要粘贴数据的范围:
sheet.getRange(row, column, numRows, numColumns).setValues(array);
在这里你可以找到一个不同的例子(在性能方面也是如此)一次写一个单元,一次写一行或者一次写所有数据: