求excel vba代码把A列筛选后B列可见单元格内容与sheet2内容重复的数量填入到C列如图片说明,sheet1 A列是筛选状态,求vba代码把B列可见单元格数量与sheet2数量有一样的填入到对应C列单元格,因原数据有几十万行,这个操作使用非常频繁求用vba解决,谢谢
不需要筛选,根据筛选条件,直接用VBA数组,获取到C列
追问谢谢您的关注,想要sheet1筛选状态不要变,把Sheet2 A列和sheet1筛选后 B列可见单元格数量一样的填写在sheet1可见单元格对应的C列,谢谢
追答D1就相当于筛选了,一个意思,是节省了操作步骤。。。
如非要筛选,就添加几句代码,自动获取筛选后,可见单元格的数据,交给变量,让数组识别运行。
你有几十万行数据,只有用VBA数组,最多几秒钟完成。
原始数据有几十万行,筛选后的数据一般最多没超过一千行,可以把结果放在sheet1 C列吗,因为下一步需要把sheet1 C列对应起来数量的整行全部删除,谢谢!
追答放在那里都可以
追问可以把修改后的代码贴给我们吗,谢谢!
追答你这个问题,说白了,就是根据筛选,将2个表,数量相同的行,批量删除
追问代码只要写到把结果填在Sheet1 C列就好,删除这里还需要人工确认一些东西后再手动删除,谢谢!
您好,可以把您写好的代码贴给我看下吗,谢谢
追答这个意思?
然后人工确认,删除相同的行?
是的,可以不让筛选取消掉吗,因为数据太多反复操作频率也很高,筛选一次很卡,取消了筛选还要手工再多一次筛选,谢谢
追答你最后还不是要取消,不取消,数组释放到本表,结果不对。
所以,我最先说,不需要筛选,一样可以达到这个效果,你非得要筛选这个操作。。。
用这个方式,你最后,筛选C列非空的数据,就删除数据相同的行了
真累。。。
我也是自己写到这里不知道怎么解决了,所以求助的,谢谢您
追答直接用vba完成
目前就是用的此方法,因数据几十万行,每行都套个公式Excel会很卡很卡,需要反复筛选一些不同数据进行匹配确认,所以希望用VBA会方便一些,谢谢!
本回答被网友采纳筛选后运行以下代码,能满足你的要求:
Sub 对比填数据()太感谢了,正是我想要的结果,非常感谢
追答不用谢,是因为你的截图很清楚表达了问题,截图中能看见行列标,否则我也没法写出代码
本回答被提问者采纳