作者:绿色风
分类:
时间:2022-08-17
浏览:143
楼主 kevinchengcw |
Q: 如何利用vba代码进行数据的筛选及分表处理? A: 下面通过一个例子来演示如何利用vba操作自动筛选,将数据拆分放入新表中的方法,代码如下:- Sub test()
- Dim dic As Object, Arr, N%, Rng As Range, Ws As Worksheet
- On Error Resume Next '设置容错语句,防止操作出错时卡住
- Application.ScreenUpdating = False '因为要用到复制粘贴操作,关闭屏幕刷新提高速度
- Set dic = CreateObject("scripting.dictionary") '创建字典项目,用来装载班级信息
- With Sheet1 '对源数据页进行操作
- For Each Rng In .Range(.[a2], .Cells(.Rows.Count, 1).End(3)) '循环源数据中准考证号列各单元格
- If Rng <> "" Then dic(Mid(Rng.Text, 3, 2)) = "" '提取出班级信息,装入字典
- Next Rng
- Arr = dic.keys '将提取到的班级信息内容赋值给数组,便于取用
- For N = LBound(Arr) To UBound(Arr) '循环取出已取得的班级信息
- .[a2].CurrentRegion.AutoFilter field:=1, Criteria1:="=??" & Arr(N) & "*" '对源数据进行筛选(筛选关键字为第3位开始的两个字符与当前班级信息相符的内容)
- Set Ws = Worksheets.Add '添加一个新的工作表
- Ws.Name = Val(Arr(N)) & "班" '更改为对应的班级名
- .Cells.SpecialCells(xlCellTypeVisible).Copy Ws.[a1] '将当前筛选到的结果复制到新表中
- .[a2].CurrentRegion.AutoFilter '取消筛选
- Next N
- End With
- Set dic = Nothing '清空字典项目
- Application.ScreenUpdating = True '打开屏幕刷新
- End Sub
附示例文件。
分表.rar |
2楼 zzmjxxy |
利用vba代码进行数据的筛选及分表处理 请问:筛选内容如何按包含某些字符进行筛选和分表处理? |
3楼 猴子 |
您好版主;我正在学习工作表的汇总和拆分,看了您的代码感觉好,可是您的附件无法下载啊、、、急**!我要下载附件学习。 |
4楼 凌乱然了 |
下来学习,谢谢 |
5楼 zsufox |
多谢楼主!
|
6楼 gfp12345678 |
多谢楼主! |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一