热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

vb整合多个excel表格到一张_[Excel]同一工作簿中多个工作表保存成独立的表格

一个工作簿中有多个表格,如何将其表格单独保存成一个独立的文档呢?如果表格少,操作如下:选中要导出表格的标签名--鼠标邮件--

一个工作簿中有多个表格,如何将其表格单独保存成一个独立的文档呢?

如果表格少,操作如下:选中要导出表格的标签名--鼠标邮件--移动或复制表格--新建工作簿。

当如果表格太多呢,以上方法就太罗嗦了。

简单方法用VBA,步骤如下:

1、创建一个文件夹,将要分离的工作簿放到该文件夹里,单独生产的文件也会保存到该文件夹里。

2、调出VBA:如果EXCEL里没VBA项,调出:EXCEL文件--选项--自定义功能区--在右边勾选开发工具。

3、输入VBA代码:

1)打开vba编辑器:点击开发工具--点工具栏上最右边的VB;

2)在左边的工程区,点选要操作的工作簿中的任意一个工作表,选择【插入】->【模块】,会出现代码区,到窗口中,然后点击【执行】即可

'将每个工作表保存成单独的Excel文件
Sub SplitEachWorksheet()
Dim FPath As String
FPath = Application.ActiveWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each ws In ThisWorkbook.Sheets
ws.Copy
Application.ActiveWorkbook.SaveAs Filename:=FPath & "" & ws.Name & ".xlsx"
Application.ActiveWorkbook.Close False
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

634c5c3af025292fa1cac03d5a923532.png

3)执行分离:

点excel工具栏里的 运行按钮,就OK,文件会保存到母文件目录下。

4、也可以将分离的文件保存成一个单独的PDF文件,而不是EXCEL文件,步骤同上,只是代码不同。具体的代码如下:

'将每个工作表保存成单独的PDF文件
Sub SplitEachWorksheet()
Dim FPath As String
FPath = Application.ActiveWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlerts = FalseFor Each ws In ThisWorkbook.Sheets
ws.Copy
Application.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=FPath & "" & ws.Name & ".xlsx"
Application.ActiveWorkbook.Close False
NextApplication.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub



推荐阅读
author-avatar
温温
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有