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

使用Google Sheets脚本跨表复制数据触发TypeError错误咨询

报错原因排查

错误TypeError: Cannot call method "getRange" of null的核心是pasteSheet变量为null,也就是ss.getSheetByName("Sheet 2")没有匹配到当前表格里的工作表,常见触发场景如下:

  • 工作表名称拼写错误,注意名称里的空格、大小写、全半角符号都要完全匹配,比如如果实际表名是Sheet2(没有空格)或者sheet 2(小写s)都会匹配失败
  • 目标工作表已经被删除,或者你当前运行脚本的Google Sheet文件里根本没有新建过名为Sheet 2的工作表
  • 如果是在绑定其他文件的脚本里运行,也可能是当前激活的表格不是你预期的操作文件
解决步骤
  1. 打开你要操作的Google Sheet,核对底部工作表标签的名称,确认是否存在Sheet 2,且名称和代码里的字符串完全一致
  2. 增加容错判断,避免空值调用方法
  3. 可按需追加边界判断,避免源范围数据为空、目标行超出表格限制的问题
修正后可运行代码
function copyInfo() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var copySheet = ss.getSheetByName("Sheet 1");
  var pasteSheet = ss.getSheetByName("Sheet 2");

  // 增加空值判断,避免找不到表时报错
  if (!copySheet || !pasteSheet) {
    throw new Error("找不到对应的工作表,请核对表名拼写");
  }

  // 获取源数据范围
  var source = copySheet.getRange(2,1,38,17);
  // 获取目标粘贴范围
  var destination = pasteSheet.getRange(pasteSheet.getLastRow()+1,1,38,17);

  // 仅复制数值到目标范围
  source.copyTo(destination,{contentsOnly: true});
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:06:02