拆分工作簿为多个文件_【VBA】按部门快速拆分工作簿

诸君好,今天我们继续分享VBA常用小代码,按指定的字段将数据拆分为多个工作簿。

447a87e3ecae1a1ef9a42bfb3c3a3b66.png

举个栗子,如上图所示的数据表,倘若需要按班级,将该表的数据拆分为1~2~3班三个工作簿,并保留在电脑的指定位置,就可以使用我们今天这篇小代码了。

操作动画演示:

e1b5e7ccdc8e79417828cc6bb29292aa.gif

动画中所粘贴的代码如下:

Sub NewWorkBooks()

Dim d As Object, arr, brr, r, kr, i&, j&, k&, x&, Mystr$

Dim Rng As Range, Rg As Range, tRow&, tCol&, aCol&, pd&, mypath$

Dim Cll As Range, sht As Worksheet

' '

'第一部分,用户选择保存分表工作簿的路径。

With Application.FileDialog(msoFileDialogFolderPicker)

'选择保存工作薄的文件路径

.AllowMultiSelect = False

'不允许多选

If .Show Then

mypath = .SelectedItems(1)

'读取选择的文件路径

Else

Exit Sub

'如果没有选择保存路径,则退出程序

End If

End With

If Right(mypath, 1) <> "" Then mypath = mypath & ""

' '

'第二部分遍历总表数据,通过字典将指定字段的不同明细行过滤保存

Set d = CreateObject("scripting.dictionary") 'set字典

Set Rg = Application.InputBox("请框选拆分依据列!只能选择单列单元格区域!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值