您当前的位置:首页 > 电脑百科 > 软件技术 > office

excel批量拆分工作簿,用VBA一键拆分,把数据分解到N个工作簿

时间:2020-07-24 12:43:18  来源:  作者:

在各行各业的日常工作中,经常需要把一份工作表的内容归类拆分到N个工作簿,最基础的办法就是通过筛选、排序归类数据,然后复制原数据,再新建工作簿,粘贴数据,如此往复......如果数量较小,这样操作没问题,如果分类的数据非常多,要新建几百,几千个工作簿,那就是一个非常大的工作量了。

此时就需要使用批量处理的方法,可以用PQ,也可以用VBA,本文就分享用VBA来处理批量拆分工作簿,用VBA的好处在于,只要代码写好,不需要懂代码,任何人都可以直接拿来用,其他办法就需要对软件操作有一些要求了。

以下图这个表格为例:

excel批量拆分工作簿,用VBA一键拆分,把数据分解到N个工作簿

 

工作场景:这是一位学员给我提出的问题,她说这个表格每个星期要做一次,需要把这个表格按A列的店铺名称归类到一起然后拆分到工作簿,A列中有几个店就要拆分成几个工作簿,并且还要保留原来的批注图片,拆分出来的工作簿名称以店铺名称命名。

这个问题的关键点:

1、A列的店铺是无序的

2、保留表格中的批注图片

3、工作簿命名为对应的店铺名称

OK,问题描述清楚了,那就开始讲解VBA操作步骤。

VBA操作步骤

1、首先表格需要打开宏设置,点击文件——Excel选项——信任中心——信任中心设置——宏设置——启用所有宏,然后点击确定。

这个步骤,每台电脑只要设置过一次,以后都默认开启,如果你以前用过VBA那这个步骤可以略过。

excel批量拆分工作簿,用VBA一键拆分,把数据分解到N个工作簿

 


excel批量拆分工作簿,用VBA一键拆分,把数据分解到N个工作簿

 

2、鼠标放在原数据所在的工作表,点击鼠标右键,查看代码,进入VBA编辑界面

excel批量拆分工作簿,用VBA一键拆分,把数据分解到N个工作簿

 


excel批量拆分工作簿,用VBA一键拆分,把数据分解到N个工作簿

 

将代码复制到上图所示的区域中。

复制下面的代码↓↓↓↓↓↓(黑色加粗部分)

Sub 按A列区分内容并拆分到工作薄()

Dim i%

arr = Sheets(1).[a1].CurrentRegion

Set d = CreateObject("scripting.dictionary")

For i = 2 To UBound(arr)

If d.exists(arr(i, 1)) Then

Set d(arr(i, 1)) = Union(d(arr(i, 1)), Rows(i))

Else

Set d(arr(i, 1)) = Union(Rows(1), Rows(i))

End If

Next i

For ss = 0 To d.Count - 1

Workbooks.Add

With ActiveWorkbook

d.items()(ss).Copy .Sheets(1).[a1]

.SaveAs ThisWorkbook.Path & "/" & d.keys()(ss)

.Close

End With

Next ss

MsgBox "快学Excel提示您,工作薄拆分完毕!"

End Sub

3、点击运行(点击绿色三角形),代码运行时,屏幕会闪烁,拆分出来的新工作簿会放在原工作簿的路径里。如果原工作簿放在一个文件夹,那新拆分出来的工作簿也会在这个文件夹里,如果原工作簿放在桌面,那拆分出来的工作簿就会放在桌面上。当拆分完毕时,会弹出提示框,表明代码运行完毕。

excel批量拆分工作簿,用VBA一键拆分,把数据分解到N个工作簿

 


excel批量拆分工作簿,用VBA一键拆分,把数据分解到N个工作簿

拆分完毕后,新工作薄以店铺名称命名

拆分完后随意打开一张看一下,店铺名称已经归类拆分好了,并且批注图片保留下来了。

excel批量拆分工作簿,用VBA一键拆分,把数据分解到N个工作簿

 

如何根据自己的需求修改代码?

上面的案例所用的代码默认表格的格式为:表头一行,拆分依据为A列

1、如果我的表头是一行,但是我以B列为依据拆分应该如何对代码进行调整呢?

把代码的这4处(下图中红框标记处)修改为2

如果以C列为拆分依据就修改成3,以此类推。

excel批量拆分工作簿,用VBA一键拆分,把数据分解到N个工作簿

 

2、如果我的表头是多行并且表头有合并单元格怎么改代码?

如下图所示,表头是2行,并且有合并单元格,以B列为拆分依据

excel批量拆分工作簿,用VBA一键拆分,把数据分解到N个工作簿

 

表头有合并单元对代码运行没有任何影响,无需针对这个修改代码。

表头如果是两行需要对代码,上面红框处把2修改成3,下面红框处rows(1)修改成rows("1:2")

如果表头是3行,上面红框就修改成4,下面红框处就修改成rows("1:3") 以此类推。

excel批量拆分工作簿,用VBA一键拆分,把数据分解到N个工作簿

 

好了关于如何用VBA拆分工作簿就分享到这里,如果这篇文章能帮助到你请点赞,收藏,你的点赞是我继续创作的动力。

本文由快学excel原创,欢迎大家关注。



Tags:excel 拆分工作簿   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
在各行各业的日常工作中,经常需要把一份工作表的内容归类拆分到N个工作簿,最基础的办法就是通过筛选、排序归类数据,然后复制原数据,再新建工作簿,粘贴数据,如此往复......如果数...【详细内容】
2020-07-24  Tags: excel 拆分工作簿  点击:(200)  评论:(0)  加入收藏
▌简易百科推荐
Excel常用电子表格公式大全   一、Excel基本公式   1、查找重复内容公式:=IF(COUNTIF(A:A,A2)>1,"重复","")。   2、用出生年月来计算年龄公式:=TRUNC((DAYS360(H6,"200...【详细内容】
2021-12-21  楠方儿i    Tags:Excel   点击:(11)  评论:(0)  加入收藏
最近这段时间,我们三易生活收到了一些来自读者朋友的求助,在他们选购电脑时发现,有的设备出厂预装了“Microsoft 365”,而另一些则预装的是“Office 2021”。对于这两款同为微软...【详细内容】
2021-12-14  三易生活    Tags:Office   点击:(26)  评论:(0)  加入收藏
我们在做问卷调差或者填写一些资料表的时候,会遇到一些word文档中有小方框【□】,需要在里面打钩【√】,那么是如何操作呢,今天和大家分享一下。方法一1,打开我们需要操作...【详细内容】
2021-11-26  小七哆来咪发唆    Tags:word   点击:(36)  评论:(0)  加入收藏
试想一下,用 Excel 管理项目的时候,会有很严格的日期安排,而且项目中的各细目经常是并行作业的,这就意味着日期不一定是排序的 。 那么事项太多如何更好管理,而不至于遗忘关键节...【详细内容】
2021-11-16  Excel学习世界    Tags:Excel   点击:(22)  评论:(0)  加入收藏
与大家分享一下有关制作身份证电子版时四周圆角处理的具体方法。方法/步骤首先,我们利用WPS打开相应的身份证扫描件,选中图片,点击“裁剪图片”按钮。 此时将显示“裁剪方式”...【详细内容】
2021-11-09  数字传媒微课堂    Tags:身份证   点击:(196)  评论:(0)  加入收藏
WPS是我们的常用办公软件之一,很多人在使用WPS打印功能的时候,经常会遇到多种多样的打印小问题,今天就为大家简单讲解下打印面板的各个小功能的作用。打印文档方法: 在左上角“W...【详细内容】
2021-11-02    21世纪教育网  Tags:WPS   点击:(31)  评论:(0)  加入收藏
前言:说起办公,就会想到三大办公软件,Word、Excel、PPT。这些软件的使用是有技巧的,学会使用技巧工作效率就会提高,加班自然就能避免。 今天就来分享其中之一:Word办公的7个小技巧...【详细内容】
2021-11-02  小杰好厉害呀    Tags:Word   点击:(52)  评论:(0)  加入收藏
我们使用 Word 的时候,页面上通常会有一些默认的符号,平时大家司空见惯了,可能没有多加留意,更不知道如何去除这些符号。 今天教大家两个 Word 技巧,将 Word 中默认的一些标记符...【详细内容】
2021-11-01  Excel学习世界    Tags:Word   点击:(48)  评论:(0)  加入收藏
经常用 Excel 的表哥表姐们,想必都知道「下拉菜单」这个神器,鼠标点点点,就能轻轻录入数据:▲ 一级下拉菜单 它的制作方法也很简单,用【数据验证】功能可以直接实现! 有小伙伴表示...【详细内容】
2021-10-27  秋叶Excel    Tags:Excel   点击:(41)  评论:(0)  加入收藏
在工作中, 我们需要对业务人员的业绩进行跟进,会有如下格式的跟进表 每天要进行更新表格的时候,表头都要重新手动的进行输入,比较麻烦,今天教大家的技巧是使用公式进行自动更新首...【详细内容】
2021-10-26  Excel自学成才    Tags:   点击:(41)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条