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

Excel VBA SubmitButton宏转Google Sheets可运行脚本求助

VBA转Google Sheets脚本解决方案

操作步骤

  • 打开你的Google Sheets文件,点击顶部菜单栏「扩展程序」-「Apps 脚本」
  • 清空默认的代码编辑区内容,粘贴下方提供的完整代码
  • 点击保存按钮,命名项目(比如「PM表单提交」),按照提示授权脚本访问表格的权限
  • 回到表格页面,选中你要绑定功能的按钮(可以用「插入」-「绘图」自行制作提交按钮),点击按钮右上角三个点,选择「分配脚本」,输入SubmitButton后确认即可

完整适配脚本

完全对齐你原有VBA的功能逻辑,仅复制纯数值不携带格式/公式:

function SubmitButton() {
  // 获取当前表格文件对象
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  // 绑定对应工作表
  const entrySheet = ss.getSheetByName("PM Entry");
  const trackingSheet = ss.getSheetByName("PM Tracking");
  // 计算目标行:Tracking表A列最后一个非空行的下一行
  const targetRow = trackingSheet.getRange("A:A").getValues().filter(String).length + 1;
  // 源单元格地址数组、目标列数组,和原VBA配置完全一致
  const sourceCells = ["D5", "H5", "D7", "D9", "H7", "H9", "D15", "D16", "D18", "H15", "H16", "H18", "D24", "D25", "D27", "H24", "H25", "H27", "D34", "D35", "D37", "H34", "H35", "H37", "D43", "D44", "D46"];
  const targetCols = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA"];

  // 循环写入数值
  for (let i = 0; i < sourceCells.length; i++) {
    const cellValue = entrySheet.getRange(sourceCells[i]).getValue();
    trackingSheet.getRange(targetCols[i] + targetRow).setValue(cellValue);
  }
  // 如需提交后自动清空录入表单,取消下一行注释即可
  // entrySheet.getRangeList(sourceCells).clearContent();
}

说明

  • 首次运行时会触发Google的权限校验,按照提示点击「高级」-「前往[你的项目名]」完成授权即可,无安全风险
  • 后续如果需要调整源单元格、目标列的对应关系,直接修改代码里的sourceCells和targetCols数组即可,和你原有VBA的调整逻辑完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 06:18:00