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

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

VBA+SQL:提取数据(没有表头字段)_第1张图片
表1

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

VBA+SQL:提取数据(没有表头字段)_第2张图片
表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:提取数据(没有表头字段)_第3张图片
结果

示例文件下载

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

你可能感兴趣的:(VBA+SQL:提取数据(没有表头字段))