You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Apps Script:copyTo参数不匹配报错,需复制行至表格底部

问题解决方法

错误原因

你代码里的destination.appendRow是Sheet类的方法,但copyTo()要求传入的参数必须是Range对象,参数类型不匹配就触发了报错。

修正后的代码

要实现把指定行追加到目标表底部,需要先定位目标表的下一个空行,再创建对应的目标Range,之后执行复制操作:

function testmoveContact() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Form");
  var destination = ss.getSheetByName("Sheet2");
  
  // 获取目标表最后一行的下一行行号
  var nextRow = destination.getLastRow() + 1;
  // 创建对应A到G列的目标Range(和源数据列数一致)
  var targetRange = destination.getRange(nextRow, 1, 1, 7);
  
  // 执行复制,仅复制内容
  sheet.getRange("A2:G2").copyTo(targetRange, {contentsOnly: true});
}

关键说明

  • getLastRow():获取目标表已有数据的最后一行行号,加1就是新数据要插入的位置
  • getRange(nextRow, 1, 1, 7):参数依次为起始行、起始列、行数、列数,这里对应1行7列的范围(A到G列)
  • 修正后传入copyTo()的是合法的Range对象,匹配方法签名,就能正常完成复制

内容的提问来源于stack exchange,提问作者horsefish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 16:20:46