在Google表格中,我想“在上方/下方插入一行”,并让新行中的某些单元格具有默认值。
例如,当添加新行时,此行的C列中的单元格将具有字母“N”,列G将具有“Y”,而列T将具有“= sum”的公式( A2 + B2)“ - 当然A2和B2需要反映这一新行的数量。
到目前为止我所拥有的:
function addRow() {
var sheet = SpreadsheetApp.getActiveSheet();
var cell = sheet.getActiveCell();
var range = source.getRange("'SAMPLE ROW'!A2:AJ2");
range.copyValuesToRange(0, 4, 6, 4, 6);
}
source.getRange从我正在使用的隐藏选项卡中获取数据。
如何在copyValuestoRange部分使用当前的行?
答案 0 :(得分:1)
要插入新行,您可以使用函数insertRowBefore或insertRowAfter,您只需指示将插入新行的参考索引(整数)。
sheet.insertRowBefore(2); //Here a new row will be inserted before the second row.
要将值插入新行中的单元格,您可以使用范围内的函数setValue()。
sheet.getRange(2,3,1,1).setValue('N'); // this will insert the value N in the column C.
您还可以使用a1Notaion选择范围。例如getRange( 'C2')。以下是有关getRange的文档,请查看详细信息。
我不明白你的问题“如何在copyValuestoRange部分使用当前行?”。
要从范围中获取值,您必须调用范围函数getValues()。它将返回一个二维数组。然后使用范围函数setValues(),您可以使用该数组将这些值插入新范围。
var values = source.getRange("'SAMPLE ROW'!A2:AJ2").getValues();
sheet.getRange('range_you_need').setValues(values);
希望这有帮助。