excel VBA怎么实现根据sheet1某一列的内容不同,将其复制到其他表格中?从而实现数据的分流

A

1 李
2 王
3 张
4 赵
5 钱
例如目标是:将A列是“李”、“张”、“赵”的行复制到sheet2,将是“李”、“王”的复制到sheet3,(实际中sheet2~sheet11间需要的数据是有重复内容的,没有规律)。

本人对编程一窍不通,设计的思路是在sheet2~sheet11中输入各自需要的几个关键字,用sheet1分别与各sheet中的各个关键字匹配判断,匹配则复制到相应的sheet中。虽然功能实现了,但是执行效率太低,sheet1必须从头到尾判断n遍。。。
求各位VBA高手指点!

第1个回答  2013-05-17
如果sheet1的关键字段的值具有唯一性,那么可以依据sheet2~sheet11的关键字来在sheet1中查询,这样的效率是最高的。
如果楼主的VBA已经是这样了,那就没办法了,除非具体的语句可以优化以外,其他的貌似没有什么能够再改善的了
第2个回答  2013-05-17
你不就是个条件筛选,然后复制粘帖吗?追问

VBA怎样实现?跪求详解!

追答

高级筛选,录制宏,再看代码。修改代码为所需。
VBA流程:
(1)设置高级筛选区域
(2)设置高级筛选条件区域及条件
(3)筛选到其它地方(本工作表的其它行或列)
(4)复制数据到目标表
(5)删除辅助数据等

追问

跟我一开始手动操作用的一个思路,先筛选出来,再复制走。excel高级筛选只能将内容复制到当前活动表格,这是麻烦的地方。不过,你提醒了我,可以将高级筛选得到的区域region剪切走,代码也简单。
谢谢!希望还有些更简单的方法拿来交流。

本回答被提问者采纳
相似回答