VBA+SQL:提取数据(没有表头字段)

表1数据是要提取的条件,数据没有重复,升序排列

表1

表2是原始数据,k列是条件,对应表1的数据。

表2

数据都是没有表头和字段的。


Sub cctv()
    Dim cnn As Object, rs As Object, i&, SQL$
    Set cnn = CreateObject("ADODB.Connection")
'创建链接,没有表头字段的链接写法
    cnn.Open "Provider = Microsoft.ace.Oledb.12.0;Extended Properties ='Excel 12.0;hdr=no';Data Source =" & ThisWorkbook.FullName
'sql提取数据
    SQL = "select a.* from [sheet2$a1:m] a,[sheet1$a1:a] b where a.f11=b.f1 order by a.f11 asc"
    Set rs = cnn.Execute(SQL)
    With Sheets("sheet3")'输出数据
        .Range("a1:M10000").ClearContents
        .Range("a1").CopyFromRecordset rs
    End With
    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing
End Sub

结果

结果

示例文件下载

链接: http://pan.baidu.com/s/1dFeobK1 密码: ygcx

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容