|
发表于 2014-8-11 21:19
|
显示全部楼层
本楼为最佳答案
- Sub Test()
- Dim Conn As Object, Rst As Object
- Dim strConn As String, SQL As String
- Dim i As Integer, PathStr As String
- Set Conn = CreateObject("ADODB.Connection")
- Set Rst = CreateObject("ADODB.Recordset")
- PathStr = ThisWorkbook.FullName
- Select Case Application.Version * 1
- Case Is <= 11
- strConn = "Provider=Microsoft.Jet.Oledb.4.0;Extended Properties=excel 8.0;Data source=" & PathStr
- Case Is >= 12
- strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & PathStr & ";Extended Properties=""Excel 12.0;HDR=NO"";"""
- End Select
- Conn.Open strConn
- SQL = "select b.F1,b.F2,b.F3,b.F4,b.F5 from [Sheet1$]a left join [Sheet2$]b on a.F2=b.F2 and a.F4=b.F4 and a.F5=b.F5"
- Set Rst = Conn.Execute(SQL)
- With Sheet3
- .Cells.Clear
- .Range("A1").CopyFromRecordset Rst
- End With
- Rst.Close
- Conn.Close
- Set Conn = Nothing
- Set Rst = Nothing
- End Sub
复制代码 |
评分
-
查看全部评分
|