Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script copyValuesToRange同一行_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script copyValuesToRange同一行

Google apps script copyValuesToRange同一行,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我想制作一个小脚本,将公式获得的所有行值复制到没有公式的同一行 我试图在同一行中使用copyValueStorRange。(我将得到在某一行上计算的值,并将它们与相同的值重叠,无需公式) 有点语境化。。。我正在为一场比赛做一种价值观的记录/预测。在同一张纸上,我有过去的记录,今天的记录和仍在发生的价值观 为了获得这些值,工作表每行执行一些计算,但我只希望它计算尚未发生的值。因此,每天,工作表都应该执行一个操作,清除前一天的公式。为此,我尝试了以下操作: function example(oRow

我想制作一个小脚本,将公式获得的所有行值复制到没有公式的同一行

我试图在同一行中使用
copyValueStorRange
。(我将得到在某一行上计算的值,并将它们与相同的值重叠,无需公式)

有点语境化。。。我正在为一场比赛做一种价值观的记录/预测。在同一张纸上,我有过去的记录,今天的记录和仍在发生的价值观

为了获得这些值,工作表每行执行一些计算,但我只希望它计算尚未发生的值。因此,每天,工作表都应该执行一个操作,清除前一天的公式。为此,我尝试了以下操作:

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);
}
sheetRecord.getRange(oRow-1,1,1,18).copyValuesToRange(sheetRecord,1,18,oRow-1,oRow-1);
oRow是我希望执行此操作的行的行号

这要么不做任何操作,要么仍将公式复制到相同的单元格中

我肯定我错过了一些愚蠢的小东西,但我不能把我的手指放在上面

我怎样才能解决这个问题?还是有更简单的方法?
提前感谢。

我在上面的问题上显示的函数getRange()和copyValueStorRange()的参数放错了位置

这些职能是:

getRange(row, column, optNumRows, optNumColumns)


copyValuesToRange(sheet, startColumn, endColumn, startRow, endRow)
因此,如果我想将第9行的值从第1列复制到第15列(“A9:P9”),我必须执行以下操作:

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);
}
sheetRecord.getRange(oRow-1,1,1,18).copyValuesToRange(sheetRecord,1,18,oRow-1,oRow-1);

而不是上述问题。

您的代码似乎适合我。例如,当我使用包含公式“=5+3”的单元格运行函数时,它会被“8”(不是公式)覆盖。你能提供一个例子来说明你的错误吗?是的,我试着用一个单元格来表示这一行,并用一个类似于你的例子,效果非常好。这是我正在处理的电子表格的副本:那么你的问题是多个单元格?我想我解决了我的问题,就像我说的,这是一个愚蠢的小错误。getRange和CopyValueStorRange的位置参数顺序不同。因此,对于我演示的问题,它必须是:sheetRecord.getRange(oRow-1,1,1,18)、copyValueStorRange(sheetRecord,1,18,oRow-1,oRow-1);尽管如此,还是谢谢你的帮助。谢谢!为我工作。我想复制单元格并将其粘贴回
行中的第4列和第5列中的值,因此使用了`var range=dataSs.getRange(第4、1、2行);range.CopyValueStorRange(数据,4,5,行,行);