我有一个表格,其中单元格有函数/公式,就像这个:
我需要一个脚本来创建一个新行,将最后使用的行的函数/公式复制到它。我发现这个脚本创建了一个新行,但它不复制函数/公式。如何在 Google Script 中实现此格式化复制任务,而无需手动选择和复制?
谢谢你的帮助!
我有一个表格,其中单元格有函数/公式,就像这个:
我需要一个脚本来创建一个新行,将最后使用的行的函数/公式复制到它。我发现这个脚本创建了一个新行,但它不复制函数/公式。如何在 Google Script 中实现此格式化复制任务,而无需手动选择和复制?
谢谢你的帮助!
您可以像复制值一样轻松复制公式,只需使用Range.getFormula()
andRange.setFormula()
而不是.getValue()
and .setValue()
。请参阅有关电子表格服务的文档。
在最后一行下方插入一行是非常基本的,在一个简单的脚本中使用insertRowAfter和getLastRow 。
编辑:如果你找不到它,这里是另一种简单方法的示例,一步复制所有内容
function duplicateLastRow(){
var ss = SpreadsheetApp.getActiveSheet();
ss.insertRowAfter(ss.getLastRow());
ss.getRange(ss.getLastRow(),1,1,ss.getLastColumn()).copyTo(ss.getRange(ss.getLastRow()+1,1));
}
方法Sheet.appendRow允许在一个命令中追加行作为原子操作。