乐于分享
好东西不私藏

Excel VBA 神器:10 秒批量新建工作表,告别手动建表

Excel VBA 神器:10 秒批量新建工作表,告别手动建表

还在为手动新建并重命名工作表头疼吗?一个个点「插入工作表」,再手动改名字,数据多了简直费腰又费时间!
今天给大家分享一段超实用的 VBA 代码,只需 10 秒,就能根据 A 列内容批量新建并重命名工作表,效率直接拉满!
✨ 适用场景
  • 按员工姓名、部门、日期、客户名称等批量建表
  • 无需手动操作,一键生成规范工作表
  • 支持 10 个、50 个、100 个表批量创建,改个数字就行
📝 操作步骤
  1. 准备数据源
    在 第一个工作表(默认 Sheet1) 的 A 列,输入你要作为工作表名称的内容,比如:A1:船体车间A2:涂装车间…A10:舾装车间
  2. 打开 VBA 编辑器
    按下快捷键 Alt + F11,一键打开 VBA 编辑器
  3. 插入模块并粘贴代码
右键左侧工作簿名称 → 插入 → 模块,把下方代码完整粘贴进去:
vba
Sub 批量新建工作表()
‘定义整数变量i
Dim i As Integer
‘循环1到10次,可根据实际行数修改
For i = 1 To 10
‘在最后一个工作表后新建工作表
Sheets.Add After:=Sheets(Sheets.Count)
‘将新建工作表命名为第一个工作表A列对应单元格的值
ActiveSheet.Name = Sheets(1).Range(“A” & i).Value
Next i
‘弹出完成提示框
MsgBox “工作表创建完成!”
End Sub
4. 运行代码
按下 F5 键,或点击运行按钮,静待 1 秒,工作表就批量创建好啦!
🔍 代码核心解析(新手也能看懂)
  • `Dim i As Integer`:定义一个计数器变量,用来循环计数
  • `For i = 1 To 10`:核心循环语句,代表新建 10 个工作表,数字可随意修改(比如改成 50 就建 50 个表)
  • `Sheets.Add After:=Sheets(Sheets.Count)`:在现有工作表最后面新建表格,不会打乱原有顺序
  • `ActiveSheet.Name = Sheets(1).Range(“A” & i).Value`:自动读取第一个工作表 A 列的内容,作为新表名称
  • `MsgBox`:运行结束弹出提示,告诉你任务完成
下面是根据分段名称批量生成的工作表:
⚠️ 3 个避坑小提示
  • A 列不能有空值,否则会报错
  • 工作表名称不能重复,也不能包含 \ / ? * [ ] 这些特殊字符
  • 建议运行前保存文件,避免意外丢失数据
🚀 进阶小技巧
想建多少个表,直接改数字就行!
比如 A 列有 30 个名称,就把代码里的 `For i = 1 To 10` 改成 `For i = 1 To 30`,一键搞定!
学会这个 VBA 小技巧,从此告别重复建表,把时间花在更重要的工作上!
需要其他 Excel VBA 实用代码(批量合并表格、批量重命名、批量打印等),评论区告诉我,下期安排!
总结
  • 代码核心是循环 + 新建工作表 + 自动命名,一键批量生成
  • 只需修改循环数字,就能适配任意数量的工作表创建
  • 操作简单无门槛,新手复制粘贴就能用