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

如何在Google Sheets中以A1为引用自动复制公式并转值

Google Sheets 实现Excel VBA同款公式复制转值功能

以下是对应需求的Google Apps Script代码,完全匹配你原VBA的功能逻辑:

function copyFormulasAndConvertToValues() {
  // 获取目标工作表
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
  // 读取A1单元格的目标行数
  const targetRow = sheet.getRange("A1").getValue();

  // 复制C2:D2的公式到C3至D[targetRow]的区域
  const sourceFormulaRange = sheet.getRange("C2:D2");
  const formulaDestRange = sheet.getRange(3, 3, targetRow - 2, 2);
  sourceFormulaRange.copyTo(formulaDestRange, SpreadsheetApp.CopyPasteType.PASTE_FORMULAS, false);

  // 将公式区域转换为静态值
  const valueRange = sheet.getRange("C3:D" + targetRow);
  const staticValues = valueRange.getValues();
  valueRange.setValues(staticValues);
}

代码说明:

  • 无需像VBA那样先选择单元格,Google Apps Script直接操作单元格区域更高效
  • copyTo方法的PASTE_FORMULAS参数对应VBA的xlPasteFormulas,专门复制公式
  • 通过getValues()读取计算后的结果,再用setValues()写回,直接将公式替换为静态值,替代VBA里的两次复制粘贴操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 09:25:01