用Excel VBA提取不同工作表中非重数据
答案:1 悬赏:0 手机版
解决时间 2021-04-06 00:03
- 提问者网友:练爱
- 2021-04-05 10:45
用Excel VBA提取不同工作表中非重数据
最佳答案
- 五星知识达人网友:底特律间谍
- 2021-04-05 12:21
是所有工作表的L列的数据放在一起,再提取不重复值。还是分别提取不重复值。这个要说清楚。
追问是Sheet4+Sheet5+Sheet6+Sheet7+Sheet8+Sheet9这6个工作表中L列的所有数据提取不重复值,如果是分别提取,那我就可以用我问题中的第一个代码了,提取出来后再放到一起,再提取其中的非重复值,只是这样很麻烦追答sub a()
dim d as object
set d=CreateObject("Scripting.Dictionary")
for i=4 to 9 '从第4个到第9个工作表
with sheets(i) '对于工作表i
for j=1 to .range("L65536").end(3).row '从第1行到最后一行
if not d.exists(.range("L"&j).value) then
d.add .range("L"&j).value,""
end if
next j
end with
next i
sheets(2).[a2].resize(d.count)=worksheetfunction.transpose(d.keys)
set d=nothing
end sub代码纯手打。未验证。你试试先。有问题再追问。
追问代码是没错误,只是运行代码后没有显示追答没问题的。我试了。
代码在SHEET2中,运行结果也在SHEET2中。
是不是我修改了工作表名称的原因啊?
我Sheet4~Sheet9的名称分别是2014.01~2014.06追答表名不影响。3 0 8 5 4 9 0 8 3追问是可以的,我把工作表位置换了,提取到别的工作表中去了,刚看见。谢谢了!
我还想问下:
追加到了200分,非常感谢!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯