excel学习库

excel表格_excel函数公式大全_execl从入门到精通

20_拆分工作簿至多个工作簿

一、 背景

有些时候,在一个工作簿中有多个sheet,比如说这一个工作簿里是1到12月的销售表,现在需要把这12个sheet放到12个工作簿中,这个功能用VBA就可以很容易实现。

二、 思路

首先要遍历工作簿中所有sheet,并把sheet复制一下,另存为一个工作簿,这样就能满足我们的需求了。

原始数据如下(以3个月为例):

三、 操作

①我们对这段VBA代码设置了快捷键,ctrl+m,就可以执行代码。

快捷键设置方式:

如下图

四、 源代码及解析

源代码如下:

Option Explicit

Sub SplitWorkbookBySheetName()

'定义变量

Dim wb As Workbook

Dim ws As Worksheet

Dim strPath As String

'设置工作簿路径

strPath = ThisWorkbook.Path

'设置当前工作簿

Set wb = ThisWorkbook

'循环每个工作表

For Each ws In wb.Worksheets

'复制工作表

ws.Copy

'保存新工作簿

ActiveWorkbook.SaveAs strPath & "\" & ws.Name & ".xlsx"

'关闭新工作簿

ActiveWorkbook.Close

Next ws

End Sub

部分代码解析:

Option Explicit 语句在模块级别中使用,强制显式声明模块中的所有变量。

个可以在VBE环境里设置,设置方式如下:

这一块是主要是核心代码,循环所有的sheet,复制sheet,并保存为新的工作簿,把新生成的工作簿关闭。

五、 执行效果

待处理数据:

执行结果:

总结:这样几行代码,就实现了把一个工作簿中的sheet拆分到新的工作簿中,如果是一年的数据,一分钟左右就能处理完成。如果对这个功能感兴趣的朋友,可以私信我,获取源文件。处理中可能存在一些不合理的地方,大家有好的建议也可以留言一块儿讨论一下。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接