我想从Google表单中获取最后一个回复,并将其复制到另一个表单上的相同范围。
第二张表在A列和A列中有一些数据。 B(登录名和密码)我想指定为某人完成注册表。
我希望在收到回复时,将表单响应表中B列到H的数据复制到包含登录名/密码列的表单上的C列到I列。
我知道我错过了从最后一行获取范围的代码,但我知道根本没有编码,而且我当前的脚本是根据我在网络和参考资料中发现的东西编译的。
非常感谢任何建议。
function onEdit(e) {
var spreadsheet = SpreadsheetApp.openById("sheetid");
var sheet = spreadsheet.getSheets()[0];
var lastrow = sheet.getLastRow();
var range = sheet.getRange(2,2,1,7);
values = range.getValues();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var SSsheet = ss.getSheets()[1];
var ssRange = SSsheet.getRange(2,3,1,7);
ssRange.setValues(values);
}
答案 0 :(得分:1)
尝试使用copyTo(destination)。它将数据从一系列细胞复制到另一个细胞范围。值和格式都被复制。
// The code below will copy the first 5 columns over to the 6th column.
var sheet = SpreadsheetApp.getActiveSheet();
var rangeToCopy = sheet.getRange(1, 1, sheet.getMaxRows(), 5);
rangeToCopy.copyTo(sheet.getRange(1, 6));
}
您也可以尝试使用copyValuesToRangecopyValuesToRange。
有关其他代码示例,您还可以参考this forum。
答案 1 :(得分:0)
function onEdit(e) {
var spreadsheet = SpreadsheetApp.openById("ID");
var sheet = spreadsheet.getSheets()[0];
var lastRow = sheet.getLastRow();
var range = sheet.getRange("A"+(lastRow)+":G"+(lastRow));
var values = range.getValues();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var SSsheet = ss.getSheets()[1];
var getRow = SSsheet.getLastRow() + 1;
var ssRange = SSsheet.getRange(getRow, 1, values.length, values[0].length);
ssRange.setValues(values);
尝试一下, 这段代码复制了您想要的某个范围内的最后一个值,并将其粘贴到另一张纸的最后一个可用行中。 它的代码仅在要复制的地方相同,将其指定为我要复制的大小。希望对您有帮助:D