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

如何通过Apps Script仅复制值到新Google表格并避免#REF错误?

解决方案

要解决复制公式导致#REF错误的问题,你需要替换原脚本中直接复制工作表的逻辑,改为仅复制单元格的值(可附带格式)。以下是修改后的完整脚本:

function exportTab() {
  const ss = SpreadsheetApp.openByUrl(""); // 填入你的目标表格URL
  const today = new Date();
  
  // 从Overview表B4提取名称,拼接年份生成新表格标题
  const baseName = ss.getSheetByName("Overview").getRange("B4").getValue();
  const newSpreadsheet = SpreadsheetApp.create(`${baseName} ${today.getFullYear()} - Square Programming`);
  
  // 指定要复制的源工作表(如需固定表名,替换为ss.getSheetByName("你的表名"))
  const sourceSheet = SpreadsheetApp.getActiveSheet();
  const sourceDataRange = sourceSheet.getDataRange();
  
  // 获取新表格的默认工作表
  const targetSheet = newSpreadsheet.getSheets()[0];
  
  // 仅复制值和格式(若只需纯值,替换为PASTE_VALUES)
  sourceDataRange.copyTo(
    targetSheet.getRange(1, 1),
    SpreadsheetApp.CopyPasteType.PASTE_VALUES_AND_FORMATTS,
    false
  );
  
  // 可选:将新工作表重命名为源表的名称
  targetSheet.setName(sourceSheet.getName());
}

关键改动说明

  • 移除原脚本中未使用的year变量,简化代码结构
  • 改用单元格范围的copyTo方法,通过指定CopyPasteType参数精准控制粘贴内容:
    • PASTE_VALUES_AND_FORMATTS:保留值和单元格格式(推荐,保持原排版)
    • PASTE_VALUES:仅粘贴纯文本值
  • 新增工作表重命名逻辑,让新表的标签名与源表一致,便于识别

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 17:33:16