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

Excel动态复制隐藏工作表的VBA代码如何转换为Google Script

Excel VBA转Google Sheets等效实现脚本

下面是和你原VBA功能完全对应的Google Apps Script代码:

function NewSheet() {
  // 获取当前打开的表格文件
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  // 记录当前激活的原工作表
  const originalSheet = ss.getActiveSheet();
  // 复制原工作表生成新表
  const newSheet = originalSheet.copyTo(ss);
  // 将新表移动到所有工作表的末尾
  ss.setActiveSheet(newSheet);
  ss.moveActiveSheet(ss.getSheets().length);
  // 生成M.d.yy格式的日期字符串
  const today = new Date();
  const formattedDate = Utilities.formatDate(today, Session.getScriptTimeZone(), "M.d.yy");
  // 给新表按日期命名
  newSheet.setName(formattedDate);
  // 新表A1单元格填入当前日期
  newSheet.getRange("A1").setValue(today);
  // 隐藏原工作表
  originalSheet.setHidden(SpreadsheetApp.SheetVisibility.HIDDEN);
}

使用方法

  • 打开目标Google Sheets文件,点击顶部菜单栏「扩展程序」→「Apps 脚本」,打开脚本编辑器
  • 删除编辑器中默认的空代码,粘贴上述代码,点击保存按钮,自定义项目名称后保存
  • 首次运行需要给脚本授权表格访问权限,按页面提示完成授权即可正常使用
  • 后续可以直接在脚本编辑器点击运行按钮执行,也可以自定义表格菜单绑定该函数,实现表格内一键调用

注意事项

  • 如果日期显示时区不符合需求,可以将代码中的Session.getScriptTimeZone()替换为对应时区字符串,国内用户可替换为"Asia/Shanghai"
  • 同一日期多次运行会因重名报错,有高频使用需求可以自行添加重名判断逻辑,给重复日期的表添加数字后缀即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 03:57:02