在 Google 表格中,我想“在上方/下方插入 1 行”,并让此新行中的某些单元格具有默认值。
例如,添加新行时,该行的 C 列单元格将包含字母“N”,G 列将包含“Y”,T 列将包含公式“=sum( A2+B2)”——当然 A2 和 B2 需要反射(reflect)这个新行的编号。
我目前拥有的:
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 部分使用当前行?
最佳答案
要插入新行,您可以使用函数 insertRowBefore或 insertRowAfter ,您只需指出将插入新行的引用索引(整数)。
sheet.insertRowBefore(2); //Here a new row will be inserted before the second row.
要向新行中的单元格插入值,您可以使用 setValue() from range 函数。
sheet.getRange(2,3,1,1).setValue('N'); // this will insert the value N in the column C.
您还可以使用 a1Notaion 选择范围。例如获取范围('C2')。这是关于 getRange 的文档查看更多详细信息。
我不明白您的问题“如何在 copyValuestoRange 部分使用当前行?”。
要从范围中获取值,您必须调用范围函数 getValues()。它将返回一个二维数组。然后使用范围函数 setValues(),您可以使用该数组将这些值插入新范围。
var values = source.getRange("'SAMPLE ROW'!A2:AJ2").getValues();
sheet.getRange('range_you_need').setValues(values);
希望这对您有所帮助。
关于google-apps-script - 在 Google 表格中插入新行时的默认单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32527549/