我是新来的,在mo的谷歌脚本的精彩世界中苦苦挣扎,所以可以真的帮到你。
我有一个谷歌工作表文档和列c到z都包含我在整个工作表中复制的公式,
问题是我需要能够插入一行并将公式放在它上面的行中进行复制。 我发现了一个在线代码,它将添加一个新的最后一行并复制公式,但我需要一个我可以选择一行,单击脚本并插入一个新行,并将公式复制下来,
任何人都可以帮我提供我需要的脚本吗?
这是我所拥有的脚本,它完全符合我的要求,但最后一行不是所选行。
function onOpen() {
var menu = [{name:"Add New Last Row", functionName:"addRow"}];
ss.addMenu("Extra", menu);
}
function addRow() {
var sh = ss.getActiveSheet(), lRow = sh.getLastRow();
var lCol = sh.getLastColumn(), range = sh.getRange(lRow,1,1,lCol);
sh.insertRowsAfter(lRow, 1);
range.copyTo(sh.getRange(lRow+1, 1, 1, lCol), {contentsOnly:false});
}
如果有人可以打电话给我如何解决这个问题我会非常感激
由于
贝
答案 0 :(得分:1)
而不是sh.getLastRow()
使用sh.getActiveCell().getRow()
答案 1 :(得分:0)
我修改了你的脚本,因为它有几个变量没有正确声明。
function addaRow() {
var sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lRow = sh.getActiveCell().getRow();
var lCol = sh.getLastColumn();
var range = sh.getRange(lRow,1,1,lCol);
sh.insertRowsAfter(lRow, 1);
range.copyTo(sh.getRange(lRow+1, 1, 1, lCol), {contentsOnly:false});
}