【Excel】拆分多个sheet,为单一表格

vbnet 复制代码
Private Sub 分拆工作表()
Application.ScreenUpdating = True '让屏幕显示操作过程,
Dim sht As Worksheet
Dim MyBook As Workbook
Set MyBook = ActiveWorkbook
For Each sht In MyBook.Sheets
If sht.Visible = True Then '隐藏的sheet跳过,否则会报1004无法复制错误
sht.Copy
ActiveWorkbook.SaveAs Filename:=MyBook.Path & "\" & sht.Name & "-" & sht.Cells(1, 1) & ".xlsx", FileFormat:=xlWorkbookDefault '将工作簿另存为EXCEL默认格式
ActiveWorkbook.Close
End If
Next
MsgBox "文件已经被分拆完毕!"
Application.ScreenUpdating = True '让屏幕恢复显示操作过程,
End Sub

说明:这一句是用于文件命名

ActiveWorkbook.SaveAs Filename:=MyBook.Path & "" & sht.Name & "-" & sht.Cells(1, 1) & ".xlsx", FileFormat:=xlWorkbookDefault

相关推荐
mghio22 分钟前
Dubbo 中的集群容错
java·微服务·dubbo
咖啡教室5 小时前
java日常开发笔记和开发问题记录
java
咖啡教室5 小时前
java练习项目记录笔记
java
鱼樱前端6 小时前
maven的基础安装和使用--mac/window版本
java·后端
RainbowSea6 小时前
6. RabbitMQ 死信队列的详细操作编写
java·消息队列·rabbitmq
RainbowSea7 小时前
5. RabbitMQ 消息队列中 Exchanges(交换机) 的详细说明
java·消息队列·rabbitmq
李少兄8 小时前
Unirest:优雅的Java HTTP客户端库
java·开发语言·http
此木|西贝8 小时前
【设计模式】原型模式
java·设计模式·原型模式
可乐加.糖9 小时前
一篇关于Netty相关的梳理总结
java·后端·网络协议·netty·信息与通信