将excel按照某列拆分成多个单独excel文件

1、打开目标excel,按alt + f11键打开VBE窗口

2、在打开的窗口中双击数据所在表格,在右侧弹出窗口输入以下代码:

Sub splitfile()
 Dim arr, d As Object, k, t, i&, lc%, rng As Range, c%
 c = Application.InputBox("请输入拆分列号", , 4, , , , , 1)
 If c = 0 Then Exit Sub
 Application.ScreenUpdating = False
 Application.DisplayAlerts = False
 arr = [a1].CurrentRegion
 lc = UBound(arr, 2)
 Set rng = [a1].Resize(, lc)
 Set d = CreateObject("scripting.dictionary")
 For i = 2 To UBound(arr)
 If Not d.Exists(arr(i, c)) Then
Set d(arr(i, c)) = Cells(i, 1).Resize(1, lc)
 Else
Set d(arr(i, c)) = Union(d(arr(i, c)), Cells(i, 1).Resize(1, lc))
 End If
 Next
 k = d.Keys
 t = d.Items
 For i = 0 To d.Count - 1
 With Workbooks.Add(xlWBATWorksheet)
rng.Copy .Sheets(1).[a1]
 t(i).Copy .Sheets(1).[a2]
 .SaveAs Filename:=ThisWorkbook.Path & "\" & k(i) & ".xls"
 .Close
 End With
 Next
 Application.DisplayAlerts = True
 Application.ScreenUpdating = True
 MsgBox "完毕"
End Sub

3、点击运行,如下图所示:
在这里插入图片描述
4、然后输入按照某一列拆分的数字,例如需要按第3列拆分,输入3

在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

京城徐董

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值