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

如何修改Google Sheets宏实现重复复制Full表数据追加到Dump表100次

修改后的Google Sheets脚本

function xmacro() {
  const spreadsheet = SpreadsheetApp.getActive();
  const fullSheet = spreadsheet.getSheetByName('Full');
  const dumpSheet = spreadsheet.getSheetByName('Dump');
  // 固定要复制的源区域
  const sourceRange = fullSheet.getRange('BK3:BT34');
  const sourceRows = sourceRange.getNumRows();
  const sourceCols = sourceRange.getNumColumns();

  // 单次执行模式:每次运行自动追加1次数据,手动执行100次即可(适合每次需要手动更新Full表数据的场景)
  let lastRow = dumpSheet.getLastRow();
  let pasteStartRow = lastRow === 0 ? 1 : lastRow + 1;
  let targetRange = dumpSheet.getRange(pasteStartRow, 1, sourceRows, sourceCols);
  sourceRange.copyTo(targetRange, SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);


  // 自动循环100次模式:解开下方注释即可使用(适合Full表数据可自动刷新的场景)
  /*
  for (let i = 0; i < 100; i++) {
    let lastRow = dumpSheet.getLastRow();
    let pasteStartRow = lastRow === 0 ? 1 : lastRow + 1;
    let targetRange = dumpSheet.getRange(pasteStartRow, 1, sourceRows, sourceCols);
    sourceRange.copyTo(targetRange, SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
    // 若每次Full表数据刷新需要等待,可添加下方延迟代码,单位为毫秒,1000=1秒
    // Utilities.sleep(1000);
    SpreadsheetApp.flush();
  }
  */
}

功能说明

  • 自动定位空白行:通过getLastRow()获取Dump表已使用的最后一行,自动将下一次粘贴的起始位置定位到空白首行,不会覆盖原有数据。
  • 重复执行配置:提供两种使用模式,可根据你是否需要手动更新Full表数据自行选择。
  • 保留仅粘贴数值的逻辑,和原录制宏的粘贴规则一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 23:15:04