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

Google Sheets Apps Script如何激活E21值对应工作表并修复getRange报错

报错原因
  • sheet.getRange("E21").getValue()返回的是字符串格式的工作表名称,不是工作表实例对象,无法直接调用getRange方法,所以触发类型错误。
修复后代码(仅实现激活E21对应工作表的核心需求)
function MyAccount() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Price History");
  // 读取E21存储的工作表名字符串
  var newSheetName = sheet.getRange("E21").getValue();
  // 用名称获取对应的工作表对象
  var targetSheet = ss.getSheetByName(newSheetName);
  // 激活目标工作表
  ss.setActiveSheet(targetSheet);
}
如需保留原代码中复制E20内容到目标表C1的逻辑,使用下方版本
function MyAccount() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Price History");
  var newSheetName = sheet.getRange("E21").getValue();
  var targetSheet = ss.getSheetByName(newSheetName);
  // 执行复制操作
  sheet.getRange("E20").copyTo(targetSheet.getRange("C1"), { contentsOnly: true });
  // 激活目标工作表
  ss.setActiveSheet(targetSheet);
}

注意:运行前请确认E21单元格输出的工作表名称和表格内实际存在的工作表名称完全一致,大小写、空格都不能有偏差,否则会出现找不到工作表的报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 20:09:01