繁体   English   中英

将范围从最后一行复制到新工作表

[英]Copy a range from last row to new sheet

我想从Google表单中获取最新回复,然后将其复制到另一张纸上的相同范围内。

第二张纸在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);

  }

尝试使用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

有关其他代码示例,您也可以参考此论坛

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM