VBA之工作表操作

1.有这样一个工作表,里面a列有很多的部门,想把各个部门的名字另起一个sheet,如何去实现呢
在这里插入图片描述
Sub test()
Dim sht As Worksheet
Dim i As Integer

For Each sht In Worksheets
If sht.Name <> “部门” Then
i = i + 1
Range(“a” & i) = sht.Name
End If
Next

End Sub

这里用到了
Dim sht As Worksheet
首先把工作表定义为sht
这样可以用for each来代替for i
因为for i要指定数字
for each是循环所有

然后判断表名,并且把a列对应的行的值作为sht的名字

2.想要删除除了表名是"决不能删"其他的所有工作表
在这里插入图片描述
Sub test()
Dim sht As Worksheet

Application.DisplayAlerts = False

For Each sht In Sheets

If sht.Name <> "绝不能删" Then
    sht.Delete
End If

Next

Application.DisplayAlerts = True

End Sub

删除工作表时会提示,是否删除,运用下面的代码可以去掉提示
其中Application.DisplayAlerts = False
和Application.DisplayAlerts = True
是成对出现

3.将表格拆分成多个单独的文件,放在固定的位置
在这里插入图片描述
Sub test()
Dim sht As Worksheet

For Each sht In Sheets
sht.Copy
ActiveWorkbook.SaveAs Filename:=“d:\data” & sht.Name & “.xlsx”
ActiveWorkbook.Close
Next

End Sub

也是首先遍历所有的工作表,然后用saveas filename来存储
最后要记得关闭 活动的工作簿

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值