Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.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 使用Google应用程序脚本将行复制到新工作表_Google Apps Script - Fatal编程技术网

Google apps script 使用Google应用程序脚本将行复制到新工作表

Google apps script 使用Google应用程序脚本将行复制到新工作表,google-apps-script,Google Apps Script,我知道这里已经问过很多次了,也回答过很多次了,但我无法让它起作用。我正在尝试使用谷歌应用程序脚本将一行值(无公式)从一张工作表复制到谷歌工作表上的另一张工作表。非常基本,但不知怎么的,这让我很难接受 我有: 资料表 源工作表 目标表 目标工作表 我正在尝试将行值(无公式)从SourceWorksheet(A2:K2)复制到TargetWorksheet上的新行(在上次使用的行之后)。它将再次来自(A:K),但行号将不同,每次它将在最后一行之后创建一个新行 任何帮助都将不胜感激 编辑 我在下面找到

我知道这里已经问过很多次了,也回答过很多次了,但我无法让它起作用。我正在尝试使用谷歌应用程序脚本将一行值(无公式)从一张工作表复制到谷歌工作表上的另一张工作表。非常基本,但不知怎么的,这让我很难接受

我有: 资料表 源工作表 目标表 目标工作表

我正在尝试将行值(无公式)从SourceWorksheet(A2:K2)复制到TargetWorksheet上的新行(在上次使用的行之后)。它将再次来自(A:K),但行号将不同,每次它将在最后一行之后创建一个新行

任何帮助都将不胜感激

编辑 我在下面找到了这段代码,但不确定如何修改它以读取我上面提到的范围,而不是源工作表中的所有行,我需要修改它,以便它在目标工作表中找到最后一行,然后每次创建新行来写入值(这样它就不会覆盖目标工作表上的任何数据)


要在表单的最后一行添加行,请使用
sheet.appendRow()
方法

在您的示例中,不需要
var targetRange
。您只需使用
targetSheet.appendRow(rangeValues)
即可,其中rangeValues=要复制的范围(作为数组)


你能告诉我们你已经试过什么吗?请查看帮助,了解如何创建示例。我们不知道您知道或不知道什么。有人需要从头开始解释一切,或者只是为您编写整个代码。你能得到一个脚本来写任何东西到电子表格吗?有什么事吗?您是否在执行记录中查找错误以及错误发生在哪一行?你读过欢迎stackoverflow吗。如何写一个好问题:谢谢大家的评论!对不起,我不习惯在这里发帖。我现在添加了我在上面的问题中找到的脚本。我不知道如何修改它。再次感谢!
function myFunction() {
var source = SpreadsheetApp.openById('xxxxxx');
var sourcesheet = source.getSheetByName('sheet1');
var target = SpreadsheetApp.openById('xxxxx')
var targetsheet = target.getSheetByName('sheet1');
var targetrange = targetsheet.getRange(2, 1, sourcesheet.getLastRow(), sourcesheet.getLastColumn());
var rangeValues = sourcesheet.getRange(2, 1, sourcesheet.getLastRow(), sourcesheet.getLastColumn()).getValues();
targetrange.setValues(rangeValues); 
}
function myFunction() {
var source = SpreadsheetApp.openById('xxxxxx');
var sourcesheet = source.getSheetByName('sheet1');
var target = SpreadsheetApp.openById('xxxxx')
var targetsheet = target.getSheetByName('sheet1');
var rangeValues = sourcesheet.getRange(2, 1, sourcesheet.getLastRow(), sourcesheet.getLastColumn()).getValues();
targetSheet.appendRow(rangeValues); 
}