ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 8818|回复: 6

[求助] 如何把一个excel表的数据按照条件筛选并分成多个表,使之成为工作簿

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-8-28 16:43 | 显示全部楼层 |阅读模式
如上传文件所示,需要将test文件按照A列区域进行分类,并按照名称建立相对应的表格,并把相关的数据带到相对应的表格里,达到test效果。实际文件较大,A列共需要区分的表格大概有30个。求帮忙,谢谢

新建文件夹 (4).rar

18.46 KB, 下载次数: 59

测试

TA的精华主题

TA的得分主题

发表于 2018-8-28 17:44 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Sub 分表()
Set CN = CreateObject("ADODB.Connection")
CN.Open "Provider=Microsoft.jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & ThisWorkbook.FullName
Sql = "SELECT DISTINCT 区域 FROM [SHEET1$]"
Set RS = CN.Execute(Sql)
Do Until RS.EOF
QU = RS.FIELDS(0)
With Sheets.Add(AFTER:=Sheets(Sheets.Count))
.Name = QU
SqlL = "SELECT * FROM [SHEET1$] WHERE 区域='" & QU & "'"
Rows(1).Copy .Rows(1)
.Range("A2").CopyFromRecordset CN.Execute(SqlL)
End With
RS.MOVENEXT
Loop
End Sub

TA的精华主题

TA的得分主题

发表于 2018-8-28 17:46 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
附件请参考

test基础文件.rar

24 KB, 下载次数: 86

TA的精华主题

TA的得分主题

发表于 2018-8-28 18:16 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Sub 字典方法分表()
Set D = CreateObject("SCRIPTING.DICTIONARY")
ARR = Sheet1.UsedRange
For I = 2 To UBound(ARR)
D(ARR(I, 1)) = ""
Next
K = D.KEYS
Stop
For Each QU In K
N = 1
With Sheets.Add(AFTER:=Sheets(Sheets.Count))
.Name = QU
Rows(1).Copy .Rows(1)
For Each Rng In Range("A2:A" & UBound(ARR))
If QU = Rng Then
N = N + 1
Rng.Resize(, 19).Copy .Cells(N, 1)
End If
Next
End With
Next
End Sub

TA的精华主题

TA的得分主题

发表于 2018-8-28 18:18 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
字典方法分表附件请参考

test基础文件.rar

26.46 KB, 下载次数: 117

TA的精华主题

TA的得分主题

发表于 2018-8-28 18:29 | 显示全部楼层
按列拆分的案例多如牛毛。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-8-29 11:44 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
iwangyi 发表于 2018-8-28 17:44
Sub 分表()
Set CN = CreateObject("ADODB.Connection")
CN.Open "Provider=Microsoft.jet.OLEDB.4.0;E ...

非常感谢,但是运行的时候分表的第一行显示不出来,使用您的文件运行就能运行出来,小白一个,请见谅,争取早日脱离伸手党
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-13 02:55 , Processed in 0.022116 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表