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

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

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

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

《VBA+SQL:提取数据(没有表头字段)》 表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

结果

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

示例文件下载

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

    原文作者:叶知行
    原文地址: https://www.jianshu.com/p/61308f30b1ee
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞