您的位置首页百科知识

excel中使用vba快速将多个工作表存为单个文件

excel中使用vba快速将多个工作表存为单个文件

的有关信息介绍如下:

excel中使用vba快速将多个工作表存为单个文件

excel中使用vba快速将多个工作表存为单个文件

首先我们打开一个工作样表作为例子。

我们使用alt+f11组合快捷键进入vbe编辑器,插入一个新的模块,并在模块中输入以下代码:Sub 每个工作表另存为单独的工作簿()

Sub ade()

Dim sht As Worksheet

ipath = ThisWorkbook.Path & "\"

For Each sht In Sheets

sht.Copy

ActiveWorkbook.SaveAs ipath & sht.Name & ".xls"

ActiveWorkbook.Close

Nex

End Sub

我们设置一个保存文件的路径为当前工作薄的路径,path属性后连接斜杠为文件路径分隔符。

使用for each循环,将sht变量历遍本工作薄的所有工作表。这里需要做一个sht.copy操作复制本标签的工作表。没有指定after或者before参数,所以excel会新建一个工作表来保存该标签工作表。

然后使用saveas方法将该工作表保存为该标签工作表的名称并保存为单个的工作薄文件。记住文件名并不包含有后缀名,所以我们需要手动添加后缀名来关联excel程序。

这里可以添加一条禁止屏幕更新的语句,Application.ScreenUpdating = False这样可以提升vba的运行效率。但是为了显示宏的运行过程,所以我没有添加。