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

如何在Google Apps Script中复制动态单元格值并粘贴到指定位置

Google Apps Script 复制粘贴值问题解决方案

高效实现版本(推荐)

直接通过单元格引用操作,避免频繁激活单元格,代码更简洁高效:

function copyTargetValue() {
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  
  // 定位G列从G10开始的最后一个有数据的单元格
  const lastDataCellInG = spreadsheet.getRange('G10').getNextDataCell(SpreadsheetApp.Direction.DOWN);
  
  // 获取向右偏移1格的源单元格
  const sourceCell = lastDataCellInG.offset(0, 1);
  // 提取要复制的值
  const valueToCopy = sourceCell.getValue();
  
  // 定位源单元格向右偏移6格的目标单元格并粘贴值
  sourceCell.offset(0, 6).setValue(valueToCopy);
}

基于你原有代码结构的修改

如果要保留你原有的激活单元格逻辑,可修改如下:

// Jump to the End
spreadsheet.getRange('G10').activate();
spreadsheet.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.DOWN).activate();

// go one step to the right
const sourceCell = spreadsheet.getCurrentCell().offset(0, 1);
sourceCell.activate();

// COPY VALUE
const copiedValue = sourceCell.getValue();

// go six steps to the right and PASTE THE COPIED VALUE
const targetCell = sourceCell.offset(0, 6);
targetCell.activate();
targetCell.setValue(copiedValue);

关键说明

  • 无需使用copyTo():仅复制值的场景下,getValue() + setValue()比复制粘贴操作更轻量化,执行速度更快
  • 减少activate()调用:频繁激活单元格会拖慢脚本执行效率,直接通过单元格对象操作是更优的实践
  • 变量存储引用:将目标单元格保存为变量,避免重复调用getCurrentCell(),提升代码可读性和维护性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 03:24:27