我想创建一个小脚本,将通过公式获得的所有行值复制到没有公式的同一行。
我正在尝试在同一行使用copyValuesToRange
。 (我会得到在某一行上计算的值,我会将它们与那些相同的值重叠,不计算公式。)
一点情境化......我正在对游戏的价值做一种记录/预视。在同一张纸上,我有过去的记录,今天的记录和值仍然会发生。
要获得这些值,工作表每行执行一些计算,但我希望它只计算尚未发生的值。因此,每天,工作表应执行清除前一天公式的操作。为此我试着做以下事情:
function example(oRow){
var app = SpreadsheetApp.getActiveSpreadsheet();
var sheetRecord = app.getSheetByName("Record");
sheetRecord.getRange(oRow-1,1,1,18)
.copyValuesToRange(sheetRecord,1,18,oRow-1,oRow-1);
}
oRow是我想要进行此操作的行的行号。
这无论是无所事事,还是仍然将公式复制到相同的单元格。
我确定这是一些我不知道的愚蠢的事情,但我不能指责它。
我该如何解决这个问题?或者有更简单的方法吗? 提前谢谢。
答案 0 :(得分:0)
我在问题上面显示的函数getRange()和copyValuesToRange()的参数是错失的。
功能是:
getRange(row, column, optNumRows, optNumColumns)
copyValuesToRange(sheet, startColumn, endColumn, startRow, endRow)
因此,如果我想将第1行的值(例如第9行)复制到第15行(“A9:P9”)到同一行,我必须执行以下操作:
sheetRecord.getRange(oRow-1,1,1,18).copyValuesToRange(sheetRecord,1,18,oRow-1,oRow-1);
而不是上面的问题。