+ -
当前位置:首页 → 问答吧 → 用VBA提取不重复的数并且把它所在行的其它数据也一起提出来

用VBA提取不重复的数并且把它所在行的其它数据也一起提出来

时间:2011-08-10

来源:互联网

用VBA提取不重复的数并且把它所在行的其它数据也一起提出来,数据不在同一个工作表格内.

附件

用VBA提取不重复的数并且把它所在行的其它数据也一起提出来,数据不在同一个工作表格内.rar(13.93 KB)

2011-8-10 13:25, 下载次数: 8

作者: 风云际会6   发布时间: 2011-08-10

没有高手能办得到?急啊,高手们

作者: 风云际会6   发布时间: 2011-08-10

引用:
原帖由 风云际会6 于 2011-8-10 13:46 发表
没有高手能办得到?急啊,高手们
提问了等着就是了,该干嘛干嘛去。命里有时终会有。

作者: jiminyanyan   发布时间: 2011-08-10

在我看来,你写的VBA已经算是较高水平的了,其实在此VBA的基础上进行下一步处理即可达到你要的效果,这个你应该也写得出来。

我的意见:遍历sheet3每个数据,在之前的sheets内查找,因为sheet3的数据均是唯一,所以有前面的Sheets也只会找到一个,找到后复制数据到Sheet3即可以了。

不知我对你的目的理解得是否正确。

作者: nbc   发布时间: 2011-08-10

止血藥改動一個地方
Sub xs()
Dim Sql As String, y, zz, i&
Dim x As Object
Set x = CreateObject("adodb.connection")
    x.Open "provider=microsoft.jet.oledb.4.0;Extended Properties='Excel 8.0;hdr=yes;imex=1';Data Source=" & ThisWorkbook.FullName
Sql = "select * from [ÐÕÃû1$] where  ÐÕÃû1 not in (select ÐÕÃû2 from [ÐÕÃû2$])"
Set y = x.Execute(Sql)
[a2:o65536].ClearContents
Sheet3.[a2].CopyFromRecordset y
x.Close
    Set x = Nothing
End Sub

作者: aoranbuqun   发布时间: 2011-08-10

数据多的时候最好不要用in ,只是修改了sql语句。参考一下。
复制内容到剪贴板
代码:
select a.* from [姓名1$] a left join [姓名2$] b on a.姓名1=b.姓名2 where b.姓名2 is null

作者: suwenkai   发布时间: 2011-08-10

谢谢提醒,只改一处就行了

作者: 风云际会6   发布时间: 2011-08-10

请问你的代码怎么理解,搞了半天 不会

作者: 风云际会6   发布时间: 2011-08-10

引用:
原帖由 suwenkai 于 2011-8-10 14:48 发表
数据多的时候最好不要用in ,只是修改了sql语句。参考一下。
select a.* from [姓名1$] a left join [姓名2$] b on a.姓名1=b.姓名2 where b.姓名2 is null
醍醐灌顶,眼前一亮

作者: panan123_0   发布时间: 2011-08-10

引用:
原帖由 aoranbuqun 于 2011-8-10 14:00 发表
止血藥改動一個地方
Sub xs()
Dim Sql As String, y, zz, i&
Dim x As Object
Set x = CreateObject("adodb.connection")
    x.Open "provider=microsoft.jet.oledb.4.0;Extended Properties='Excel 8.0;hdr=y ...
你SQL部分是火星文吗

作者: panan123_0   发布时间: 2011-08-10

相关阅读 更多