楼主: zhongman
635 1

[excel商务智能] 根据某列的内容分拆多个excel的一种方法 [推广有奖]

  • 0关注
  • 0粉丝

已卖:1份资源

高中生

95%

还不是VIP/贵宾

-

威望
0
论坛币
3049 个
通用积分
21.9158
学术水平
5 点
热心指数
2 点
信用等级
0 点
经验
173 点
帖子
3
精华
0
在线时间
74 小时
注册时间
2021-11-14
最后登录
2024-5-7

楼主
zhongman 发表于 2022-10-1 21:56:17 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+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


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:EXCEL xcel exce cel Application

已有 1 人评分经验 论坛币 学术水平 热心指数 收起 理由
車樹森 + 20 + 5 + 3 + 1 奖励积极上传好的资料

总评分: 经验 + 20  论坛币 + 5  学术水平 + 3  热心指数 + 1   查看全部评分

沙发
三江鸿 发表于 2022-10-2 15:15:02 来自手机
又一个国庆快乐
点赞支持

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-22 07:26