VBA常用小代码:按指定名称批量建立工作表

转自:

https://www.sohu.com/a/194644736_417040

 

VBA根据A列数据批量建立工作表的代码如下:

Sub NewSht()

'ExcelHome VBA编程实践与学习

Dim Sht As Worksheet, Rng As Range

Dim Sn, t$

Set Rng = Range("a2:a" & Cells(Rows.Count, 1).End(xlUp).Row)

'将工作表名称所在的单元格区域赋值给变量Rng,单元格A1是标题,不读入

On Error Resume Next

'当代码出错时继续运行

For Each Sn In Rng

'遍历Rng(工作表名称集合)

t = Sn

'还记得这里我们为什么用这句代码吗?

Set Sht = Sheets(t)

'当工作簿不存在工作表Sheets(t)时,这句代码会出错,然后……

If Err Then

'如果代码出错,说明不存在工作表Sheets(t),则新建工作表

Worksheets.Add , Sheets(Sheets.Count)

'新建一个工作表,位置放在所有已存在工作表的后面

ActiveSheet.Name = t

'新建的工作表必然是活动工作表,为之命名

Err.Clear

'清除错误状态

End If

Next

Rng.Parent.Activate

'重新激活名称数据所在的工作表

End Sub

 

 

注:

1、可以通过数据透视表的方式实现以上功能,但会先将名字排序后再按顺序建立工作表。

2、新增的sheet自动从原最后一个sheet末尾添加。

3、sheet的名字有长度限制,超过了自动按sheet9,sheet12这样的格式命名。

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值