在Excel VBA利用筛选功能将数据拆分至多张工作表
工具/原料
电脑
2019 Excel
一、录制筛选动作的宏
1、点击“开发工具”下的录制宏,然后“确定”。
2、点击“开始”选项卡的“排序和筛选”下的“筛选”按钮。
3、点击数据中“班级”列的筛选按钮,筛选“A班”的数据,然后“确定”。
4、停止录制,然后打开Visual Basic,查看代码如下。
5、新建一个过程test,来看一下Se盟敢势袂lection.AutoFilter的作用。这行代码的作用是执行之后就会出现筛选的按钮,再次执行则取消筛选。
6、ActiveSheet.Range(争犸禀淫"$A$1:$F$27").AutoFilter Field:=2, Criteria1:="A班"稆糨孝汶;这一段代码:1)当前活动的工作表的A1至F27单元格范围;2)进行筛选;3)参数是第二列,条件是“A班”。
二、数据拆分
1、新建一个过程“筛选拆分”,添加一个for循环,从第二张工作表开始循环至最后一张。
2、将上面录制的宏中筛选动作的代码复制到该过程中,并做一些调整;添加复制筛选后的数据至相应工作表的代码。
3、将筛选按钮的代码Selection.AutoFilter放在for循环外面,在酆璁冻嘌for循环中已开启了筛选按钮,结束循环后则取消筛选按钮。
4、执行以上代码后,即可将数据快速拆分至相应的工作表。